DaveBaumann said:Wonder if it will have better performance in R350 or not...
Tagrineth said:I was under the impression that ATi decided to do it via vertex shaders rather than hardware in R300.
RoOoBo said:Tagrineth said:I was under the impression that ATi decided to do it via vertex shaders rather than hardware in R300.
Current vertex shaders cannot add new geometry (vertex) so I don't know what you mean.
kyleb said:exactly, a well designed model will truform well but if you slop your normals then things can get ugly quick. truform is a great thing but it sucks on the r300 sence it cannot do it in hardware. suposably "trufrom2" is avalable in hardware on the r300 but i have yet to see it in use and am not interly clear on what the differences are. also, i hear rumors that the r350 has been fixed to alow for orignal truform in hardware as well; if that is true it is a very atractive feature of the new chip in my book.
DeanoC said:You don't need to add vertices to do Truform (curved PN patches).
With static LOD each triangle divides into a fixed number of triangles.
i.e. Level 1 : Each triangle has 3 vertices and 1 triangle and divides into 6 vertices and 4 triangles.
On the CPU (you only have to do it at init time) you create a vertex stream the consists of barycentrical (I can never spell that word) coordinates and a triangle number. Then for each model you want to patch divide you then upload the original triangle data (broken into parts that will fit) into vertex constant memory and run the vertex stream you made earlier. The vertex shader has code to do the actual patch displacement, so almost the entire algorithm runs in hardware (all the CPU has todo is reupload the constants every n triangles with n approximately 40 triangles for VS_2_0).
Tada! Hardware accelerated static patch division without special hardware (coming to a ShaderX2 soon, both TomF and I are doing stuff like this)