Readit News logoReadit News

Deleted Comment

ktstephano commented on Show HN: StratusGFX, my open-source real-time 3D rendering engine   github.com/KTStephano/Str... · Posted by u/ktstephano
corysama · 2 years ago
Great work! I really appreciate the breakdown.

> Each of the four cascades are given the scene at different levels of details. The first cascade uses the highest level of detail while the last cascade uses the lowest available level of detail.

I would expect the shadow renders would want to use the same LOD as the primary view to keep the shadow casting geometry consistent with the shadow receiving geometry. Otherwise, you might have incorrect self-shadowing.

ktstephano · 2 years ago
I think this part of the cascade shadow map generation could be improved. Luckily the stuff closest to the camera looks correct, but distant stuff does look off until you get closer and higher resolution pops in.

In the future I'll probably do something similar to what you mentioned and have the cascades use the LODs selected for the main view.

ktstephano commented on Show HN: StratusGFX, my open-source real-time 3D rendering engine   github.com/KTStephano/Str... · Posted by u/ktstephano
s_Hogg · 2 years ago
Congratulations, can you tell us about what it took to get through all this work by yourself?
ktstephano · 2 years ago
I would say a big part was that I was very interested in the project so even when parts of it were difficult to figure out I kept wanting to come back to it.

The other was breaks. I didn't do this all in one stretch and instead did it in small chunks over time. I wasn't trying to ship a final game or finish as quickly as possible so the time scale was very relaxed.

Then the last was to make sure the process stayed as enjoyable as possible. If I was getting stuck on a problem or if a particular path really didn't seem to be working, I preferred to either take a break from the problem and come back later or find new sources that helped me see if in a different way (or both).

ktstephano commented on Show HN: StratusGFX, my open-source real-time 3D rendering engine   github.com/KTStephano/Str... · Posted by u/ktstephano
BLKNSLVR · 2 years ago
(I'm an old man who prefers reading physical books over electronic ones, but I do think that video demonstrates "things" better, especially if it demonstrates the realtime rendering that's a selling point of the engine - and the "kids these days" consume video like it's a breathing-level bodily function)

Looking forward to seeing improved versions.

I'm tipping you've got a pretty bright future!

ktstephano · 2 years ago
I decided to add the video link to the readme after you brought this up. Maybe it's better to have it for anyone who prefers it.
ktstephano commented on Show HN: StratusGFX, my open-source real-time 3D rendering engine   github.com/KTStephano/Str... · Posted by u/ktstephano
noduerme · 2 years ago
This is the kind of work I really love to see here. Whether or not it finds footing it's clearly an amazing learning experience, and it's extremely impressive in its own right. Kudos on a great project.
ktstephano · 2 years ago
Thanks! It was pretty fun but also difficult and definitely a learning experience.
ktstephano commented on Show HN: StratusGFX, my open-source real-time 3D rendering engine   github.com/KTStephano/Str... · Posted by u/ktstephano
vlovich123 · 2 years ago
How do you generate all the demo scenes? Are there prebaked reference scenes to import and render? Even if that’s the case, is there a huge amount of work to integrate existing models/scenes into your engine?
ktstephano · 2 years ago
The demo scenes were all from what is in the Examples/ folder. I am working on getting the 3D assets hosted somewhere (some people made some suggestions in this thread I am going to try) and once that is done people will be able to render all the demo scenes locally. All the assets are either from graphics research samples such as Sponza or Bistro or they were CC licensed on a different site such as Sketchfab. I would have tried Quixel Megascans too but I think you have to buy a subscription.

"Even if that’s the case, is there a huge amount of work to integrate existing models/scenes into your engine?"

It uses the Assimp library which allows it to support things like .obj, .fbx and .gltf. Usually what I do is export from Blender to gltf and ask it to export the textures separately rather than pack them into the binary. Most assets that were designed with metallic-roughness in mind either work immediately or with minimal changes. In my own testing the most frequent things I had to change were if normal maps were inverted (fix by flipping the green channel in photoshop) or if the model exporter set all the metallic values to maximum due to missing data (fix by loading the metallic or metallic-roughness maps in photoshop and flipping metallic channel from max to 0).

u/ktstephano

KarmaCake day212March 29, 2023View Original