• Advertisement
Sign in to follow this  

Voxel cone tracing problem

This topic is 1322 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

Hello,

 

I have succesfully implemented some ambient occlusion with voxel cone tracing. It is a very simple implementation, that renders the scene in 6 directions to separate 3D textures.

 

To improve performance, I wanted to switch to the single-pass voxelization method. The voxelization works and I get better performance. However, if I want to cone trace my ambient occlusion I now get very ugly self-intersection artifacts everywhere. This is because every cone now starts looking for intersections in 1 single 3D texture that comprises the entire scene. How do I avoid these artifacts? Anyone had this problem with VCT before?

 

PS: I have tried an offset in the surface normal direction to start tracing in the shader, which somewhat improves the situation but doesn't eliminate the artifacts completely. Unless I set it to a huge distance ofcourse, but then my shadows start disappearing.

 

Thanks for any suggestions,

Jeroen

Edited by godmodder

Share this post


Link to post
Share on other sites
Advertisement

Can you show some screenshots of your problem?

I used dominant direction method with a single 3D texture and never had any issues with my VCT.

[attachment=21961:giboxv3-0.png]

Share this post


Link to post
Share on other sites

Hi,

 

This is the method with 6 separate 3D textures:

 

ao_normal.jpg

 

And this is what I get with one big texture (or even 3 textures in which +X/-X  and -Y/Y   and -Z/Z fragments are merged)

 

ao_fucked.jpg

 

This is what I get with some offset distance in the shader code:

 

ao_lessfucked.jpg

 

As you can see, there is some improvement, but the artifacts never dissappear completely.

Share this post


Link to post
Share on other sites

Actually, I just realised you are talking about ambient occlusion; which I didn't implement using VCT because its too inaccurate.

Edited by gboxentertainment

Share this post


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

  • Advertisement