knightcrawler25 / GLSL-PathTracer

A toy physically based GPU path tracer (C++/OpenGL/GLSL)
MIT License
1.83k stars 173 forks source link

Lack of test files #66

Closed tigrazone closed 2 years ago

tigrazone commented 2 years ago

Please when you implement new features, add test files for checking it

knightcrawler25 commented 2 years ago

All the scene files should be available at the link mentioned in the readme (https://drive.google.com/file/d/1UFMMoVb5uB7WIvCeHOfQ2dCQSxNMXluB/view).

Its split between .scene files and gltf files that utilise the most recent feature additions like alpha testing etc.

tigrazone commented 2 years ago

Thank you for update. marble_bust_01.bin is not used by scene files? I cant find references to it

knightcrawler25 commented 2 years ago

I probably removed the gltf file and forgot to delete the .bin.

You can get the gltf here: https://polyhaven.com/a/marble_bust_01

tigrazone commented 2 years ago

Thank you!

tigrazone commented 2 years ago

I remember test_volume_cube.scene and test_volume_cube_sss.scene Why this files render on another way? You changed volume format or processing? Please add this files also

tigrazone commented 2 years ago

I see you remove extinction processing. This parameter was good for materials ;-)

knightcrawler25 commented 2 years ago

test_volume_cube.scene and test_volume_cube_sss.scene

These files only work with the code in the volumes branch. The dev branch has a simplified volume system similar to how MagicaVoxel handles volumes. I'll add some sample files when I'm done adding direct lighting for volumes.

I see you remove extinction processing. This parameter was good for materials ;-)

Extinction and atDistance were used for volumetric absorption earlier. It's handled differently now:

These changes allow extinction to work the same way as before but with some additional medium types:

Absorption: absorption

Scattering: scattering

Emission: Emissive

tigrazone commented 2 years ago

Maybe unite these parameters like smallupbp and corona render do? for example, smallupbp input file with volumes: https://github.com/PetrVevoda/smallupbp/blob/master/scenes/stilllife/stilllife.obj.aux

knightcrawler25 commented 2 years ago

That's actually what the code in the volumes branch does with sigma_a and sigma_s but those parameters are non intuitive and it also requires a bunch of extra code for checks etc. I wanted a simpler method mainly so that it's easy to add subsurface scattering later by flipping the diffuse lobe and just setting the subsurface color using the medium color parameter.