Escolar Documentos
Profissional Documentos
Cultura Documentos
CUALQUIE
R IMAGEN
DE
FONDO
1. Descargar el programa GIM2: https://gimp.uptodown.com/windows
2. Descargar la imagen que quieras de internet (si quieres convertirla a .bmp,
mtela a paint y gurdala como .bmp)
3. Carga la imagen en GIMP2 y en la caja de herramientas presiona el botn
de escalar: deben escalarla a un tamao 2n, es decir, 2x2,4x4,8x8,16x16,
etc, si el tamao de la ventana en la que piensan poner el fondo les
recomiendo escalar a 128x128, si u ventana es del tamao de su pantalla
es recomendable escalar 512x512.
4. Una vez escalada la imagen es momento de exportarla, vayan a
Archivo/exportar como, den clic en todas la imgenes exportadas y
seleccionen cdigo fuente en c .c, nombren su archivo con cualquier
nombre, por ejemplo: mi fondo.c (siempre deben poner .c al final); den clic
en exportar.
5. Les saldr algo como esto:
#include<C:\Users\equipo\Desktop\Juego_semifinal\mi_fondo.c>
void PintarEscena()
{
glClearColor(0,0,0,0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,40,0,30,-1,1);//cambia esto de acuerdo a tu proyecto
glMatrixMode(GL_MODELVIEW);
glClear(GL_COLOR_BUFFER_BIT);//borrando la ventana de
visualizacin
glLoadIdentity();
//cargando el bmp
GLuint texture;
glGenTextures(2,&texture);
glBindTexture(GL_TEXTURE_2D,texture);
glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
GL_MODULATE); //no RGB
gluBuild2DMipmaps( GL_TEXTURE_2D,
gimp_image.bytes_per_pixel,gimp_image.width,gimp_image.height,GL_RG
BA,GL_UNSIGNED_BYTE,gimp_image.pixel_data );
glEnable(GL_TEXTURE_2D);
glBegin(GL_QUADS);//dibujaremos un cuadrado
glEnd();
//fin de la carga del BMP
//A partir de aqu debes a empezar a dibujar todo lo que quieras, si lo haces
arriba de la carga del bmp, no se vern correctamente
glutSwapBuffers();//para el cambio de buffers (cuando se usa buffer
doble)
}
10. Las coordenadas del cuadrado t las debes modificar de acuerda al tamao de tu ventana,
solo tienes que dibujar un cuadrado del tamao de tu ventana y dentro de este se pintar
la imagen
11. Asegrate de llamar a la funcin en el main:
glutDisplayFunc(PintarEscena);
12. Si quieres cargar otra imagen ms pequea, primero carga la imagen de fondo y luego
carga la imagen pequea (que puede servir como Sprite). Cambia en la funcin
gluBuild2DMipmaps el parmetro que dice RGBA por RGB. Ah y en el
nuevo archiv.c que creaste de la imagen pequea cambia gimp_image por
gimp_image2, de igual forma en la funcin gluBuild2DMipmaps.
13. No te funcion, quieres que te mande todo el cdigo de un juego que hice en OPENGL?,
mndame un correo con asunto CARGAR IMAGEN DE FONDO OPENGL y dime que te lo
pase, mi correo es: