Jump to content
  • Advertisement
Hexaa

DX11 DirectX Intel HD and NVIDIA different behavior Geometry Shader

Recommended Posts

I try to draw lines with different thicknesses using the geometry shader approach from here:

https://forum.libcinder.org/topic/smooth-thick-lines-using-geometry-shader

It seems to work great on my development machine (some Intel HD). However, if I try it on my target (Nvidia NVS 300, yes it's old) I get different results. See the attached images. There

seem to be gaps in my sine signal that the NVS 300 device creates, the intel does what I want and expect in the other picture.

It's a shame, because I just can't figure out why. I expect it to be the same. I get no Error in the debug output, with enabled native debugging. I disabled culling with CullMode.None. Could it be some z-fighting? I have little clue about it but I tested to play around with the RasterizerStateDescription and DepthBias properties with no success, no change at all. Maybe I miss something there?

I develop the application with SharpDX btw.

Any clues or help is very welcome :)

 

sine_thick.png

frac_sine.png

Share this post


Link to post
Share on other sites
Advertisement

The GPU being that old, I would suspect you are running into either (a) A driver bug or (b) Some Geometry Shader resource limit for earlier implementations.

Share this post


Link to post
Share on other sites

I updated to the latest nvidia driver and still the same though. Resources I don't know. Maybe yes... I don't know how to check that though.

I couldn't figure it out till now. I found another more stable algorithm that is even simpler and produces variable line width without gaps on both devices. Although it is not so clever and uses more primitives in sum. The curves look even better actually. It is also a geometry shader that I tweaked a bit.

I suspected it maybe to be some kind of imprecision in the case here, but I am not sure why and at what point exactly.

If anyone else has a clue I might give it a try though to compare the performances with this new one I use.

Thank you though :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 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!