All pastes #55191 Raw Edit

Something

public text v1 · immutable
#55191 ·published 2006-05-11 21:18 UTC
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();
}