rendered paste body
void LoadGLTextures(int i)
{
char *str;
int x = 0;
ILubyte *newdata,*snewdata;
ILubyte *sdata;
str = (char *)malloc(20*sizeof(char));
newdata = (ILubyte *)malloc(128*128*sizeof(ILubyte));
snewdata = newdata;
x = i;
ilGenImages(i, &texture[i]);
ilBindImage( texture[i] );
ilLoad(IL_PNG,names[i]);
data = ilGetData();
sdata = data;
Mdata[i] = data;
glBindTexture (GL_TEXTURE_2D,texture[i]);
glTexImage2D(GL_TEXTURE_2D, 0, 2, 128, 128, 0, L_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE,(ILubyte*)ilGetData());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR);
data = ilGetData();
}
void drawVolume(void)
{
int i=0;
double z = -3.5, x = -3.5, y = -3.5;
for(i = 1; i < 70 ; i++)
{
glBindTexture(GL_TEXTURE_2D, texture[i]);
glTexImage2D(GL_TEXTURE_2D, 0, 2, 128, 128, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, Mdata[i]);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f); glVertex3f( -3.5f, -3.5f, z); glTexCoord2f(1.0f, 0.0f); glVertex3f( 3.5f, -3.5f, z);
glTexCoord2f(1.0f, 1.0f); glVertex3f( 3.5f, 3.5f, z); glTexCoord2f(0.0f, 1.0f); glVertex3f( -3.5f, 3.5f, z); z += .1;
glEnd();
}
glutSwapBuffers();
}
void display( void )
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef (transX, transY, transZ);
glRotatef (rotatex, 1.0f, 0.0f, 0.0f);
glRotatef (rotatey, 0.0f, 1.0f, 0.0f);
glRotatef (rotatez, 0.0f, 0.0f, 1.0f);
glScalef(sc,sc,sc);
// Draw_Scene
glEnable(GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//glBlendFuncSeparateEXT(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
//glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC) wglGetProcAddress("glBlendEquationEXT");
//if( glBlendEquationEXT == NULL)
//fprintf(stderr," The tade does not supported by this renderer\n");
//glBlendFunc(GL_ONE_MINUS_DST_ALPHA,GL_ONE);
//glBlendEquationEXT(GL_MIN_EXT);
//glColor3f(0.0,0.0,1.0);
//glEnable(GL_ALPHA_TEST);
//glAlphaFunc(GL_GEQUAL,0.20);
glutWireCube(15.0f);
drawVolume();
glMatrixMode(GL_MODELVIEW);
glutSwapBuffers();
glutPostRedisplay();
}