Skip to main content
GameDev.net gamedev.net
🔒 Locked

Really wierd vertex problem

Started by timmay314 Jan 21, 2004 at 9:46 AM 4 replies 300+ views
Original Post
timmay314
timmay314
I have a D3D 9 app that works fine on my computer and most of my friend''s computers. When I try it on one person''s computer, the vertices are chaotic - they randomly move as the camera rotates. Not just this, but after one full revolution they are back in the same place. I''ve turned off back face culling and the same things happens, so this isn''t a problem of culling - the vertices are actually behaving really strangely. I have no clue what could cause this, and it works fine on most computers. If it matters, I''m using software vertex processing because this specific computer doesn''t support hardware processing.
neneboricua19
neneboricua19
Do you get the same problem if you use SWVP on your machine?
timmay314
timmay314
What is SWVP?
timmay314
timmay314
I hadn''t tried - but good idea. No, it doesn''t work correctly. What do you think the problem could be? I''m pretty new to DirectX and these things never happened in OpenGL .
neneboricua19
neneboricua19
quote:
Original post by timmay314
I hadn''t tried - but good idea. No, it doesn''t work correctly. What do you think the problem could be? I''m pretty new to DirectX and these things never happened in OpenGL .

No problem. By the way, the reason this didn''t happen in OpenGL is because using OpenGL, your graphics card either has support for a feature or it doesn''t. If you were to code the same app in OpenGL, it would only run on graphics cards that support all of the functionality you''re using. D3D''s software vertex processing mode provides a way for your app to run even on hardware that doesn''t support all the features your app uses. It does this by using the CPU to do some of the work that the graphics chip would normally do.

To answer your question, vertex buffers created with a device that uses SWVP need to be created in system memory. Here''s a quote from the docs:
"Software vertex processing provides a guaranteed set of vertex processing capabilities, including an unbounded number of lights and full support for programmable vertex shaders. [...] The only requirement is that vertex buffers used for software vertex processing must be allocated in system memory."

This quote can be found at the bottom of:
http://www.msdn.microsoft.com/library/en-us/directx9_c/directx/graphics/programmingguide/gettingstarted/direct3ddevices/processingvertexdata.asp

Hope this helps,
neneboricua

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.