volmetrics

diff src/main.cc @ 1:cca2e05dbabe

display one slide (debugging)
author Eleni Maria Stea <eleni@mutantstargoat.com>
date Sat, 11 Jan 2014 17:50:16 +0200
parents 88d390af583f
children e6485ef45e6e
line diff
     1.1 --- a/src/main.cc	Sat Jan 11 17:22:36 2014 +0200
     1.2 +++ b/src/main.cc	Sat Jan 11 17:50:16 2014 +0200
     1.3 @@ -4,6 +4,8 @@
     1.4  #include <stdio.h>
     1.5  #include <assert.h>
     1.6  
     1.7 +#include "image.h"
     1.8 +
     1.9  //static void init(void);
    1.10  static void display(void);
    1.11  static void reshape(int x, int y);
    1.12 @@ -13,6 +15,13 @@
    1.13  
    1.14  static int win_xsz, win_ysz;
    1.15  
    1.16 +/////////////////////////////
    1.17 +// debug TODO remove
    1.18 +////////////////////////////
    1.19 +static bool init();
    1.20 +Image img;
    1.21 +unsigned int tex;
    1.22 +
    1.23  int main(int argc, char **argv)
    1.24  {
    1.25  	glutInit(&argc, argv);
    1.26 @@ -30,6 +39,10 @@
    1.27  	glutMotionFunc(motion);
    1.28  
    1.29  	glewInit();
    1.30 +	if(!init()) {
    1.31 +		fprintf(stderr, "Failed to initialize La votre Colonoscopie\n");
    1.32 +		return 1;
    1.33 +	}
    1.34  
    1.35  	//call init
    1.36  
    1.37 @@ -37,15 +50,18 @@
    1.38  	return 0;
    1.39  }
    1.40  
    1.41 -int init(void)
    1.42 -{
    1.43 -	//TODO
    1.44 -	return 0;
    1.45 -}
    1.46 -
    1.47  void display(void)
    1.48  {
    1.49  	//render
    1.50 +	glBindTexture(GL_TEXTURE_2D, tex);
    1.51 +	glEnable(GL_TEXTURE_2D);
    1.52 +	glBegin(GL_QUADS);
    1.53 +	glTexCoord2f(0, 0); glVertex3f(-1, -1, 0);
    1.54 +	glTexCoord2f(0, 1); glVertex3f(-1, 1, 0);
    1.55 +	glTexCoord2f(1, 1); glVertex3f(1, 1, 0);
    1.56 +	glTexCoord2f(1, 0); glVertex3f(1, -1, 0);
    1.57 +	glEnd();
    1.58 +	glDisable(GL_TEXTURE_2D);
    1.59  
    1.60  	glutSwapBuffers();
    1.61  	assert(glGetError() == GL_NO_ERROR);
    1.62 @@ -85,3 +101,20 @@
    1.63  	prev_x = x;
    1.64  	prev_y = y;
    1.65  }
    1.66 +
    1.67 +bool init()
    1.68 +{
    1.69 +	if(!img.load("data/la_colonoscopie/IM-0001-0248.png")) {
    1.70 +		fprintf(stderr, "Failed to load votre Colonoscopie\n");
    1.71 +		return false;
    1.72 +	}
    1.73 +
    1.74 +	glGenTextures(1, &tex);
    1.75 +	glBindTexture(GL_TEXTURE_2D, tex);
    1.76 +	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    1.77 +	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    1.78 +	glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE16F_ARB, img.get_width(),
    1.79 +			img.get_height(), 0, GL_LUMINANCE, GL_FLOAT, img.get_pixels());
    1.80 +
    1.81 +	return true;
    1.82 +}