Jump to content
  • Advertisement
Sign in to follow this  
gboxentertainment

OpenGL Voxel Cone Tracing Experiment - Part 2 Progress

This topic is 1669 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement

Interesting results, I think it's time for you to get a more complex scene to evaluate your implementation. It would be nice to see that running on a room scene or some exterior scene with walls and buidlings around you.

 


The area is currently only limited to this scene (i'm using a single 64x64x64 3D texture), but I intend to have a go at this "camera-centred cascades" idea to see if I can get consistent interactive framerates for a much larger scene. The main concern I have with using cascades is that it involves dynamically shifting the volume texture, thus leading to large scale flickering. This flickering is evident when I move around emissive objects in my current implementation.

 

Yup, I can confirm that camera centered cascades will result in large flickering. I've tested that my self on my own implementation of Voxel Cone Tracing and I can say that it simply doesn't look good.

Share this post


Link to post
Share on other sites

Yup, I can confirm that camera centered cascades will result in large flickering. I've tested that my self on my own implementation of Voxel Cone Tracing and I can say that it simply doesn't look good.

 

hmm...

I'm thinking now that cascades do not have to be camera-centred. I might have an alternative idea.

Edited by gboxentertainment

Share this post


Link to post
Share on other sites

hmm...
I'm thinking now that cascades do not have to be camera-centred. I might have an alternative idea.

 

What do you have in mind?

 

If you are thinking about keeping the volume centered on the camera but snapping it to the voxel grid then I can tell you before hand that it doesn't solve the problem either. My approach did that and there was still lots of flickering when the volume changed position. smile.png

Edited by jcabeleira

Share this post


Link to post
Share on other sites

YMMV? Snapping to voxel grid positions after N number of steps/distance works fine for almost all of the flickering I've had. How are you voxelizing the scene?

Share this post


Link to post
Share on other sites

What is quality difference of screenspace reflections vs just using cone tracing reflections? Also have you tested voxel space ambient oclusion?

Share this post


Link to post
Share on other sites

What is quality difference of screenspace reflections vs just using cone tracing reflections? Also have you tested voxel space ambient oclusion?

 

I imagine both are dependent on voxel resolution. Which reminds to point out Directed Acylic Graphs for Voxels: http://www.cse.chalmers.se/~uffe/HighResolutionSparseVoxelDAGs.pdf Which seems like a fantastic win for reflections and thin object problems both.

 

I also don't remember any flickering in Epic's Elemental demo, despite some quite vast areas using cascaded octree levels. I can't remember if they mentioned flickering being a problem though.

Edited by Frenetic Pony

Share this post


Link to post
Share on other sites

YMMV? Snapping to voxel grid positions after N number of steps/distance works fine for almost all of the flickering I've had. How are you voxelizing the scene?

 

This actually describes a much better way of understanding a possible implementation of my idea.

As well as doing this, I am thinking of using something similar to partially resident textures (because most of us, especially with nvidia hardware still are not able to use them yet).

We piece together multiple smaller high-res textures, together with larger lower-res textures to simulate cascaded partially resident textures.

The biggest problem is that there may be texture seams between texture edges which cannot be hardware filtered (this must be done manually).

Has anyone tried this yet?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!