Latest OpenGL Activity
Pitching the view direction down might reveal a clue?
More experiments with Global Illumination using voxel cone tracing.
Comparison with GI ON and OFF.
Also showing dynamic update as light conditions changes (different time of the day).
When GI is OFF I added a fake ambient component, otherwise the areas in shadow would be fully black, since the sun…
I have no clue what the problem was. So I just implemented it on the CPU. Works great now.
My algorithm / logic is maybe a bit random, first thing I ended up with, so vertex re-use patterns become really strange with a lot of materials 😂
Purple = reused vertex. Empty = duplicated vertex.
So a chunk (32x32x32 in my case) with ≥ 4 materials might have its reuse rate lowered, but these chunk…
I boiled it down to only a couple of lines' difference.
Here is the float* version, which works:
int num_tiles_per_dimension = 1;
std::vector<cv::Mat> array_of_input_mats = splitImage(input_mat, num_tiles_per_dimension, num_tiles_per_dimension);
std::vector<cv::Mat> array_of_output…
You are not understanding, as always of course, I'm not using shaders because it's more work, I'm not using them because I don't want to. I don't care about performance, I didn't ask anyone about this, I didn't even mention this word in my question…
OpenGL procedural terrain.
Here is a smalll list of some of the techniques I used here:
. tessellation shaders
. trilinear texture mapping
. 2D billboards
. displacement mapping
. wind animation using noise texture
. HDR
. advanced bloom via downsampling
I wanted to improve the graphic quality for Merc Tactics by adding a SSAO shader and I looked into several techniques. The best quality implementation of this is GTAO. There is also ASSAO, which is used in the Godot engine. Unfortunately, GTAO is a bit too heavy weight and I want Merc Tactics …
Finally implemented proper day/night cycle inside my custom OpenGL render.
Now the engine can vary sun position according to hour and day of the year, and also according to the latitude, with a good approximation.
https://sourceforge.net/projects/vivid-3d/
Vivid is a modern C++ 3D engine using OpenGL4+.
It is written using Visual C++ 2022, and relies on several open source projects to achieve it's goal of making it easy and run to make modern games with it.
- GPU Accelerated Skeletal animations for actor…
Built to power a new generation of game development tools, Ultra App Kit provides an easy-to-use C++ programming SDK for creating desktop GUI applications.
Unlike other alternatives like Dear ImGui, the Ultra App Kit GUI renders in retained mode rather than immediate mode, and is specifically …
small3d is a small, cross-platform 3D game development library I have put together and have been maintaining over the past few years. This is a tutorial on creating a ball in Blender, and then writing a C++ program that loads it and moves it around on the screen, using small3d. Alternatively you ca…
I had many problems with understanding shaders, but after getting a grasp - it is so easy, convenient and powerful! I present to you my twisted version of understanding this, hoping it will help other aspiring devs ?
This is my slow path from a total noob to a less-noob-ish shader programmer ? It wi…
Earlier this year, Collabora announced a new project with Microsoft: the implementation of OpenCL & OpenGL to DirectX translation layers. Here's the latest on this work, including the steps taken to improve the performance of the OpenGL-On-D3D12 driver.
Today, Collabora is excited to announce a partnership with Microsoft to build OpenCL and OpenGL mapping layers on DirectX, in order to bring OpenCL 1.2 and OpenGL 3.3 support to all Windows and DirectX 12 enabled devices. Support for OpenGL is realised through the Mesa3D project's Gallium layer.
We've just released all of the source code for the NeHe OpenGL lessons on our Github page at https://github.com/gamedev-net/nehe-opengl. code - 43 total platforms, configurations, and languages are included.
Now operated by GameDev.net, NeHe is located at http://nehe.gamedev.net where it has…