I've been looking into taking advantage of mipmaps when doing voxel ray tracing in my lighting system to traverse empty spaces faster, but had trouble figuring it out on paper.
So I made this little simplified thing in raylib.
I've been looking into taking advantage of mipmaps when doing voxel ray tracing in my lighting system to traverse empty spaces faster, but had trouble figuring it out on paper.
So I made this little simplified thing in raylib.
Made some improvements to my GI renderer. There are still some issues. Like flickering when the box moves through probes etc...
I've also been experimenting separately with some stylisation ideas, I will show something soon(tm)
I had to take a break from graphics programming and so I decided to do some chill stuff.
I took another stab at making a personal/portfolio website. Nothing fancy...
Next step is to figure out how to host this on github pages or something like that.
Found a fun way of testing the lighting system with a more dynamic setup.
I think it's all working well enough for now.
The next bigger thing to do is experimenting with some ideas I have for stylising the rendering.
Probe lighting stuff is starting to look good now. Still some odd looking things in a couple of places.
The soft shadow of the Box is kind of borked since I threw in some hacks to avoid self-shadowing. (It's an SDF technique)
This should work with dynamic objects and light sources, but I have not tested that yet.
Also I think I can get this to be a lot faster, since the implementation is very inefficient in many places. It's currently at ~12 ms. Something like 4 or 5 ms would be more desirable, considering how simple the scene is.
I decided to port the probe based lighting stuff to the GPU using D3D11... Finally starting to get some decent results!
Things got too slow in the software renderer and I didn't feel like doing multithreading etc.. But it was a very useful reference for getting stuff running on the GPU.
Looking better already. Per pixel trilinear sampling is making stuff very slow though...
Started working on GI stuff using light probes.
It's finally doing... something? This is supposed to be the Cornell Box.
Also the debug vis for probes looks like beach balls!
Made some improvements to the CPU ray tracer. Code has gotten quite a bit simpler.
Might look into porting it to the GPU soon.
I wanted to better understand 3D rasterization. Especially the different transformation "stages". So I wrote a software rasterizer based on tinyrenderer by Dmitry V. Sokolov...
Featuring the laziest "clipping" possible!