Jump to content
  • Advertisement
Sign in to follow this  
raptorstrike

OpenGL 2D animation in OpenGL

This topic is 4820 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

normally when doing 2D animation in SDL I would just use a rect to sort of crop the picture so that its the one I want however im not sure how to do this when textures are involved. would you generate each texture then just assign the current frames texture as the current texture to draw (which would most likely mean a diffrent picture per frame). I also thought about using the texture coorads as the sort of croping area but this would not alow for various texture sizes without implementing a diffrent draw method. The final problem I run into is having to use textures that are a ^2. Based on these problems do you think that I should be using textures on quads at all? should I just go for images instead? thanks for any help [smile]

Share this post


Link to post
Share on other sites
Advertisement
There's no reason you can't use the same method you use with SDL on OGL textures. The only difference is the quad/texcoord conversion, which (once you understand it) isn't too bad.

Assume you have a 256x256 texture which has 4 frame of animation:

(SDL: 128, 0)
(OGL: 0.5, 0)
(SDL: 0,0) +-------+-------+ (SDL: 256,0)
(OGL: 0,0) | | | (OGL: 1, 0)
| 1 | 2 |
| | |
(SDL: 0,128) +-------+-------+ (SDL: 256, 128)
(OGL: 0,0.5) | | | (OGL: 1, 0.5)
| 3 | 4 |
| | |
(SDL: 0,256) +-------+-------+ (SDL: 256, 256)
(OGL: 0,1) (SDL: 128,256) (OGL: 1, 1)
(OGL: 0.5, 1)

So instead of changing the src rect, you'll want to change the tex coords of the quad you're rendering the texture onto. And voila! You can use one texture to hold a whole animation (or more) of frames for your game.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!