Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / 3D Theory & Graphics / ati vs nvidia compatability problems Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Roel

April 21, 2005, 03:26 AM

Hi,

I wrote a simple app (using Direct3D9) that draws transformed triangles on the screen. I don't do any special things (besides heavy alpha blending), and it works on all ATI cards I tried, the reference rasterizer, but on nvidia cards it shows weird things: the color I passed in my Clear() call is visible (white), but all I see is strange pixel lines, in random semi colors, which fill about 5% of the screen. This strange lines react on the my keyboard input, but not really in the way they should.

Ofcourse I don't expect you to tell me the exact reason of this problem, but maybe someone already experienced this before.

it looks like this:

http://img242.echo.cx/img242/4858/a3cw.png

Thanks in advance.

 
Erik Faye-Lund

April 21, 2005, 05:03 AM

have you checked the d3d-debug-messages?

 
Nick

April 21, 2005, 06:34 AM

As Erik suggests, switch to the Direct3D Debug Runtime (in the Windows Control Panel), and check if it returns any errors or warning messages (should appear in your Visual Studio's Output pane). It's likely that the ATI driver and the reference rasterizer tolerate and correct some wrong input while the NVIDIA driver returns an error (but still draws something). I recently encountered several such situations, with cards and drivers from all vendors. The Direct3D specification is just very loose about how the driver should handle wrong input, especially using the Retail version of Direct3D.

One other example is drawing while an active vertex or index buffer is still locked. The specifications clearly say that such draw operations will return an error and not draw anything, but only the reference rasterizer together with the Debug Runtime have this behaviour in practice!

The 'effects' you're seeing look like a problem in the index buffer. Maybe you have a negative index somewhere...

 
Roel

April 21, 2005, 01:21 PM

Great, thanks guys. After I turned the debugging output from less to more, Direct3D finally warned me that my FVF's didn't match the stride size and that this may cause problems with pre-dx8. I remember a time where d3d didn't accept such differences at all, but well, times changed apparently :)

Thanks again! And sorry for wasting your time with such a trivial question, but d3d behaved in another way than I expected...

 
This thread contains 4 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.