D3D7 -> WineD3D, 2nd attempt

Oliver Stieber oliver_stieber at yahoo.co.uk
Sat Oct 29 14:42:48 CDT 2005

--- Stefan Dösinger <stefandoesinger at 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 

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.

> Stefan

Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com

More information about the wine-devel mailing list