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

 Home / 3D Theory & Graphics / multiple vertex streams support 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.
 
adel

May 19, 2005, 06:44 AM

Hello everyone. I have been trying to come up with a flexible good way to manage my meshes, and I found that using multiple vertex streams is convenient and flexible. However, I'm concerned that using multiple vertex streams is not supported on all kinds of cards. I've googled around and found that some articles say that if they are not supported in hardware then they can't be used, and others say that they can be used whether the hardware supports it or not. If anyone knows about this, please share the info. Also, does anyone know how old are the cards that do not support them? If you have an old card, try running the following sample (from codesampler.com) which uses them and tell us what happens:
http://www.codesampler.com/source/dx9_multiple_vertex_buffers.zip
Thanks in advance.

 
Nils Pipenbrinck

May 20, 2005, 04:25 AM

Yes, there are cards out there that don't support vertex streams. If I'm not mistaken gforce 1 and 2 don't do them in hardware.

In theory you can just make sure that you enable software vertex processing if the card does not support vertex streams, or if a old driver is installed (these report 0 vertex-streams). That way it would work on all hardware, but you would make your program slower on already slow cards.


 
adel

May 20, 2005, 05:27 AM

But if the device is old enough not to support them, then isn't it safe to assume that the device doesn't support hardware vertex processing as well? If so, then there is actually no harm in using them anyway, right?

 
Nils Pipenbrinck

May 20, 2005, 07:58 AM

> But if the device is old enough not to support them, then isn't it safe to
> assume that the device doesn't support hardware vertex processing as well? If
> so, then there is actually no harm in using them anyway, right?

No..

Most of the cards that can't do vertex shaders also don't support multiple vertex streams. Those that support them are most probably terrible slow when you use the multiple vertex stream feature.

They can do hardware TNL, but just fixed function pipeline stuff.



 
adel

May 21, 2005, 04:07 AM

But do they support multiple vertex streams for fixed function stuff? I mean, I want to write code that works on all cards, does that mean I have to work only with FVFs?

 
Nils Pipenbrinck

May 21, 2005, 06:17 AM


adel wrote: But do they support multiple vertex streams for fixed function stuff? I mean, I want to write code that works on all cards, does that mean I have to work only with FVFs?


If you want Hardare TnL, then the answer is Yes.

You can always use vertex-streams and vertex-shaders, but those will only run in software-emulation if the card don't support them.

Writing code, that works on all cards? Good luck. Try to get a Matrox G400. If it runs on this card it will most probably run anywhere..


 
adel

May 31, 2005, 06:01 PM

I have finally managed to get hold of an old card, a 4-mb intel... something! It turns out that multiple vertex data can be used freely on all cards regardless of the maximum number of vertex streams reported in the D3DCAPS9 structure. Also, the card worked well with the dolphin sample and the motion blur sample (both use vertex shaders).

 
juhnu

May 31, 2005, 06:17 PM

It is most probably due to the fact that you are using software vertex processing and therefore are not limited by the hardware caps. Try enabling pure hardware vertex processing and see if it still works - I bet it doesn't.

It might be that the caps reported are incorrect for the card though and it actually support multiple vertex streams. However, you shouldn't draw any assumptions on the general behaviour of the cards based on one single example. The fact it might work with a one card is not any kind of proof it would work with some other card.



cheers,


juhani

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