[HLSL/Direct3D] Drawing a texture quad

Started by
3 comments, last by kazenofairy 13 years, 4 months ago
Hello,

I've been using these forums as help for a while, but this is actually the first time I will be posting. Maybe I am very bad at searching but I've been unable to find anything about this.

I am pretty new to DirectX and HLSL. I want to do page flipping animation using textures and HLSL shaders. I know it is far easier using ID3DXSprite but I don't want to do it that way as I already have everything set the other way. What I actually want to know is... how do you tell the HLSL shader that you want to draw just a portion of the texture?

I know that changing the Tu and Tv elements of the VertexBuffer can help you achieve that but I don't really know/think it is a good idea to keep locking, changing and unlocking the vertex buffer each time I draw a game object.

Does anyone know a way to do this right? Maybe setting some values in the vertex or pixel shader?

Hope I explained myself.

Thanks in advance.
Advertisement
Just change the tex coords in the vertex shader.
Wisdom is knowing when to shut up, so try it.
--Game Development http://nolimitsdesigns.com: Reliable UDP library, Threading library, Math Library, UI Library. Take a look, its all free.
Thanks for your quick reply. Isn't doing that too costly? Isn't there other way of doing so?
Doing it in the vertex shader could be as easy as 4 adds to your quad's uv coordinates if you have your sprite frames in a strip. Not costly at all :D
Really? Thanks for the info! Although, I already tried to find examples on how to do that and I was not able to found any. Is there any guidance that you can give me? Thanks again!

This topic is closed to new replies.

Advertisement