Jump to content

  • Log In with Google      Sign In   
  • Create Account


What are multiple Vertex Streams used for?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 Racoonacoon   Members   -  Reputation: 439

Like
0Likes
Like

Posted 30 May 2010 - 09:16 AM

What are the practical uses of using multiple vertex streams? Does it reduce bandwidth to the GPU or something else entirely? I just don’t really understand what they can be used for.

Sponsor:

#2 rubiax   Members   -  Reputation: 102

Like
0Likes
Like

Posted 15 December 2010 - 11:00 AM

In this Intel-sponsored feature, Orion Granatir looks at the Intel Atom processor, already shipped in more than 40 million devices, and ways to inlock its potential for gaming.





View the full article

#3 mikfig   Members   -  Reputation: 114

Like
0Likes
Like

Posted 30 May 2010 - 09:50 AM

Here is one example from GPU Gems that focuses on the use of multiple vertex streams for a resource manager.
"WARNING: Excessive exposure to politicians and other bureaucrats has been linked to aggressive behavior." - Henk Hopla

#4 dgreen02   Crossbones+   -  Reputation: 1174

Like
0Likes
Like

Posted 30 May 2010 - 09:51 AM

Hardware instancing would be the most obvious use, I render most objects with some kind of hardware instancing [ grass, trees/foliage, debris, particles, imposters, etc ]

You bind your model's VB to stream 0, and the per-instance data to stream 1.

There are some examples in the DirectX SDK.

- Dan

#5 Rubicon   Members   -  Reputation: 296

Like
0Likes
Like

Posted 30 May 2010 - 01:01 PM

I'd go further and suggest that proper instancing is why they were invented.

I'm sure there are other uses you could contrive, but instancing is what it's all about. You should try it - and lol when you see how many of the same object you can render without dropping your fps.

#6 Racoonacoon   Members   -  Reputation: 439

Like
0Likes
Like

Posted 30 May 2010 - 04:20 PM

Thanks guys!
I've seen it around several times and always wondered what sort of benefit or purpose it had.

Now I need to go dig into instancing :D

#7 ET3D   Members   -  Reputation: 806

Like
0Likes
Like

Posted 30 May 2010 - 10:05 PM

Quote:
Original post by Rubicon
I'd go further and suggest that proper instancing is why they were invented.

Multiple streams appeared in D3D8, while instancing only appears in D3D9, so that's definitely not the case. Still, I agree that instancing is the most obvious use.

One way I used multiple streams (in the old days) was for tweening.

#8 marcjulian   Members   -  Reputation: 206

Like
0Likes
Like

Posted 30 May 2010 - 10:09 PM

You can use the multiple stream feature for terrain rendering as well.

Your first stream has X,Y coordinates and contains all vertices necessary for a 2d grid of one terrain sector. In a second stream you have the actual height stored. This way you can save quite some graphics memory since the first stream is the same for every terrain tile.

#9 Racoonacoon   Members   -  Reputation: 439

Like
0Likes
Like

Posted 31 May 2010 - 07:26 AM

Thanks marcjulian, your description made the concept 'click' in my head.

So basically, one of their uses could be to reduce duplicate data sent per vertex, by splitting the data into two or more streams?

#10 Burnhard   Members   -  Reputation: 100

Like
0Likes
Like

Posted 31 May 2010 - 09:25 AM

Thanks for that. I was wondering about it the other day too!




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS