Currently, I have a 3D scene (game) that has interface elements. One interface element in particular is a 2D triangle. This triangle should be measured in screen units (pixels). Currently, my FVF uses D3DFVF_XYZRHW. This means that I cannot apply transformations to any of my 2D shapes because D3DFVF_XYZRHW is a transformed vertex. My triangle object is created using a vertex buffer.

I set my transformations via a call to IDirect3DDevice9::SetTransform(). I was wondering if someone could show me how to create 2D shapes measured in pixels that are able to have transformations.

Currently, I am a bit clueless as to how this would be done. If someone could provide detailed explanations with code samples, it would help me a lot. Thank you!