Advertisement

Getting at D3D post-transforms

Started by January 16, 2000 09:04 AM
2 comments, last by Goodlife 25 years, 1 month ago
Hi all-- Does anyone out there know of a way to get at the 2d coordinates of a vertex after sending it through an Execute? I pass direct3d 3d coordinates, and I want the on-screen coordinate (x,y) AFTER direct3d has put it through the vectors. (Note: Speed is not an issue here). Also, My video card has a vertex limit of 1024 vertices. So, what I do is put together my primitives, and when I get to that limit, I dispatch my execute buffers for rendering and start a new one. It works spiffy, but I have lots of vertices that COULD be reused, but might be in a different dispatch. Is there any way to beat that vertex limit, so I don''t have to double-transform my duplicate vertices? Thanks a billion! --Goodlife
-- Goodlife-----------------------------Those whom the gods would destroy, they first drive mad.--DirectX design team official motto
The ProcessVertices() method of IDirect3DVertexBuffer7 will give you a transformed vertex buffer.

BTW, this is done in software, always, even if hardware TnL is available.
Advertisement
Good Lord, wait a minute!
Are you telling me that d3d ALWAYS transforms in software?
Because if it does, I can write it faster, since I don''t
need to do a ''true'' transform, and fake the Z transformation.

...Or is it just process vertices that gets done in software?
-- Goodlife-----------------------------Those whom the gods would destroy, they first drive mad.--DirectX design team official motto
ProcessVertices() is always done in software.

Normal transformation done by DrawPrim() is done in hardware if the user has card that supports hardware TnL (GeForce and Savage2000) and you selected the TnL Hal Device.

Otherwise, it is done in software.

This topic is closed to new replies.

Advertisement