I'm trying to develop a game for Android, and I need to know how to draw an image onscreen using OpenGL - an image that I access from the resources, not created within the program. Any tips?
I'm not sure, if there is a way to directly copy some kind of image buffer into the active frame buffer, but if you want to manipulate your image (translating, scaling, rotating, placing it according to the z-buffer, etc.) you will want to go the usual way:
Create two triangles forming a rectangle and apply your image as a texture - For example using the Bitmap class and GLUtils.texImage2D(...).
Additionally, if you do not want to add a perspective, you should use gluOrtho2D(...) as your projection matrix.
Now, if you want some code or more details on one of these steps, just ask for it - It's just a very general answer to a very general question
ok, so I can probably assume, that you are pretty new to OpenGL. In this case, I would recommend the NeHe tutorials that have been ported for Android (since OpenGL != OpenGL ES) -> INsanityDesign NeHe Android Ports
If you already have an OpenGL environment running with your triangles already rendering, but without textures, you can skip to "Lesson 06". Set "gl.glEnable(GL10.GL_TEXTURE_2D)" and have a look at loadGLTexture(...) from the cube-class in this lesson.
The gluOrtho2D just sets up a projection matrix with an orthographic projection. With this projection you can easily do 2D graphics in OpenGL as the z-coordinate does not affect the size of your graphics. gluOrtho2D is just like gluPerspective but "without depth".
I have put up a tutorial describing exactly that.
How to draw images with opengl.
It explains triangle strips, how to create a square and how to create a texture from an image and how to bind it.
You can find the article here.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.