TGA and RGB image loading

This commit is contained in:
trotFunky 2019-09-25 00:36:57 +02:00
parent bc4f402580
commit 2fdbf21e28
7 changed files with 169 additions and 3 deletions

View file

@ -1,8 +1,12 @@
#include "GL/glut.h"
#include "GL/gl.h"
#include "displayers.h"
#include "Texture.h"
volatile unsigned long long int timer_ticks = 0;
static Texture tree_texture;
void display()
{
@ -25,6 +29,8 @@ void display()
display_rotating_pyramid(5,-2,0,1,5,angleY);
display_rotating_pyramid(-2,-2,4,3,2,angleY);
display_tree(0,-5,0,3,5,tree_texture);
glutSwapBuffers();
}
@ -48,6 +54,24 @@ int main(int argc, char** argv)
// glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
// Setup OPenGL to use textures
glEnable(GL_TEXTURE_2D);
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER, 0.5);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT/GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT/GL_CLAMP);
glTexEnvi(GL_TEXTURE_2D, GL_TEXTURE_ENV_MODE, GL_MODULATE);
// Load and generate tree texture
tree_texture.load_rgb_tga("resources/arbre.tga");
glGenTextures(1,tree_texture.opengl_id);
glBindTexture(GL_TEXTURE_2D,tree_texture.opengl_id[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, tree_texture.width,tree_texture.height,0,GL_RGB,GL_UNSIGNED_BYTE,tree_texture.image_data);
gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB8,tree_texture.width,tree_texture.height,GL_RGB,GL_UNSIGNED_BYTE,tree_texture.image_data);
glViewport(0,0,glutGet(GLUT_WINDOW_WIDTH),glutGet(GLUT_WINDOW_HEIGHT));
glutIdleFunc(display);