R2VB questions

Started by
6 comments, last by edwinnie 17 years, 12 months ago
jus wanna ask if anyone knows how fast is this functionality? lets say a full screen quad of 512 x 512? thx! Edwin [Edited by - edwinnie on April 19, 2006 8:08:07 PM]
Advertisement
Your question is a little too vague to be answers [smile]

R2VB is supported on a wide range of hardware - and is therefore going to be very dependent on the GPU being used. It uses the PS units from my understanding, and the X1k series are monsters by comparison to the ageing 9x00 series.

This recent thread contains some information you might be interested in. Probably worth digging up the ATI samples from their developer site.

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Check out the ATI SDK for some sample R2VB programs. There you can see some speed results.

My X1800XT makes 5FPS in the animation demo (50.000 models).
--
i'm also intersted in that topic. If i understood everything right then R2VB is somehow like letting vertices run through the pixel processing pipeline. So a speed comparison the usual vertex rendering would be cool.

regards,
m4gnus
"There are 10 types of people in the world... those who understand binary and those who don't."
What R2VB does is allow you to create textures which are formatted linearly in card RAM, and can then be accessed as vertex streams. You can then render, for example, to a RGBA32F render target texture, with each pixel representing some 4 float value (say, a one float height and 3 float normal) and read this as part of a vertex buffer on your next drawing call.
qnother question:
is there a way to select a subset of pixels to be swizzled into the vertex stream?

thx!
Quote:Original post by edwinnie
qnother question:
is there a way to select a subset of pixels to be swizzled into the vertex stream?

thx!


You mean is there a way to have, like, part of the VBRT (vertex buffer render target) be one model (e.g. for indices 0-150) and then have another part of the VBRT be another model (e.g. indices 151-210)? Well, one way is that instead of rendering a quad to the VBRT that covers the entire RT (remember that before you use the RT as a VBRT that it still is a normal render target and you can specify what parts of the RT get written to or updated) you could have a quad that covers the scanlines of what you need, and then a small pixel-high quad/tri that does the rest.

For example, let's say that the VBRT is laid out like this:
#############$$$$$$$$$$$$$$$$$

and the #'s are pieces of data for the first model and the $'s for the second.
Anyways, you first draw a quad that covers the first two rows of #'s. Then, you draw a little bit more to get the one # on the third row.
something like that, but theres more to it.

lets say the subset RT looks like this:

00000
00100
01010
10010
00001

where all the 1's need to be in a coherent vertex stream during output.
eg 111111

there are six 1's. I dont mind how the 1's are ordered in the vertex stream right now. Then again, I suppose instead using a fullscreen quad, I should use a subset quad that rough covers all the 1's? And I might have to leave with some redundancy as all the 1's are not initially in a coherent region?

thx!

This topic is closed to new replies.

Advertisement