--- Stefan Dösinger stefandoesinger@gmx.at wrote:
Hello, I think I got the DrawIndexedPrimitiveVB going now(my tracing suggests this), and now I've hit ProcessVertices(). As someone mentioned allready, this is a complex call, and it isn't implemented in DX7, DX8 or WineD3D.
This call does some Vertex Transformation, and depending on the App's requests, Lightning and other things. This is some math thing that is done in Software(According to msdn). On DX8 and DX9 this call is slightly different, and it looks like vertex shaders come into play.
Does anyone know any free library which implements something like this, or any internet sources on the math behind this? I haven't found anything useable with google. If I can't find anything, I'll have a look in my university's library.
It may be possible to use the feedback buffer and get OpenGL to do all the work http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfu....
The majority of the math is fairly simple matrix transforms, OpenGL extensions usually have all the math required. http://oss.sgi.com/projects/ogl-sample/registry/
One other Question: How slow is DrawStridedSlow? WineD3D uses it because of the diffuse ans specular colors. Currently I get only one useable vertex into DrawIndexedPrimitiveVB from ProcessVertices, the other 5 to draw have their values zeroed. Without drawing anything I get 70 fps(screen refresh rate, expected), with the 6 Vertices I get 1.5 fps. Is this normal for DrawStridedSlow()? Might this be because of drawing 2 triangles with useless vertices? Or might something else be wrong?
1.5fps seems very slow, even for DrawStridedSlow but DrawStridedSlow will be superseded as soon as the colour fixups are in place.
Oliver..
Stefan
___________________________________________________________ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com