<HTML><BODY><p>In some d3d9 2d-games, some sprites does not draws, or draws like thin line because game use transformation for primitives, and&nbsp; z-coordinate(detected ~ -700...+700 range) of vertices might be not in view volume as occurs.<br>According to MSDN (<a href="http://msdn.microsoft.com/en-us/library/bb206341" target="_blank">http://msdn.microsoft.com/en-us/library/bb206341</a>(VS.85).aspx) "Viewports and Clipping (Direct3D 9)":<br><em>Direct3D does not clip transformed vertices of a primitive from a vertex buffer unless it comes from IDirect3DDevice9::ProcessVertices. If you are doing your own transforms and need Direct3D to do the clipping, you should not use vertex buffers. In this case, the application traverses the data to transform it. Direct3D traverses the data a second time to clip it, and then the driver renders the data, which is inefficient. So, if the application transforms the data, is should also clip the data.</em><br><br>P.S. 10000 and -10000 is a big values, but how i think, it's must be half of maximum positive and negative values which allows opengl use as near and far. Or wine should tracks "<em>transformed vertices of a primitive from a vertex buffer"</em> and modify z-values of vertices to 0~1 range.<br></p><p>
</p></BODY></HTML>