Linear Space Program
74 subscribers
162 photos
16 videos
11 files
49 links
Побочные эффекты игростроения на хаскеле.

https://icrbow.itch.io/

Чатик: @HaskellGameDev
Дискорд: https://discord.gg/vxpWtBA
Download Telegram
Extracted tile "proxy" data from Tilesetter projects. Makes maps a little less bland even in extreme conditions.
This media is not supported in your browser
VIEW IN TELEGRAM
Subtleties of animation…
Had to slice the effect sprite into fg/bg parts and put them on different layers. And synchronize everything manually 😓
End of part 1
Been fever-dreamin' some DIY material layering and light sources (before I get to the chapter 7 of the second book).

The amount of noise from emissive materials is.. ugh. Apparently this is why we bother with "light sources" instead of just dropping some light bulbs here and there.
The next week, starting from AABBs and BVH

162s -> 26s -> 19s
(for a bit more complex scene)

Cubes are harder than they appear!
Found this little gem while testing UV generation code
So, you're telling me now we're gonna add noise to the scene?
BVH is love, BVH is life 📦

Ramped up samples, bounces, and resolution and the rendering time is still less than the first attemts with the linear traversal of all objects in the world.

Converting interaction event into a single-constructor with additive, multiplicative, and scatter components helped a little too.

Also, skipped ray bouncing when attenuation drops below 10-bit range.
The limit practically remains to prevent infinite bounces between perfect mirrors.
The cat is out of the box[Goral84]!

[Goral84]: Cindy M. Goral, Kenneth E. Torrance, Donald P. Greenberg, and Bennett Battaile. 1984. Modeling the interaction of light between diffuse surfaces. SIGGRAPH Comput. Graph. 18, 3 (July 1984), 213–222. https://doi.org/10.1145/964965.808601
Spent 2 days trying to figure out a bug. Accidentally fixed something while tidying up the code, don't know what was the problem. I thought I've fixed the real bugs (a few times) and everything should be working, but nooooo....

For some reason C++ code decided to shadow the shit out of its variables and use distance domain where everything but one quantity was in the time domain already. I hate C++ for tutorial code dumps 🚮
Ray Tracing: The next week
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Sorry for all the numerical instability...

The video illustrates the need for a frame debugger a la RenderDoc.
Bounce depth, hit angles, pixel variance, etc.
Leaves are green
But some of them blue
BVH debugging
I'm in you
4844403-objects.png
6.9 MB
130 -> 4844403 objects
7.5s -> 30s rendering time
Sponza: the final frontier. These are the pictures of the hobby ray tracer. Its five-year mission: to render good old worlds; to check out some shapes and test optimizations; to boldly go where I haven't gone before!
fibs.jpg
979.2 KB
This is a Haskell channel, of course there would be Fibs somewhere