Ejemplo n.º 1
0
void init()
{
	glEnable (GL_DEPTH_TEST);
	glClearColor (.4,.4,.4,1);

	glewInit();

	extern GLuint setShaders(char*,char*);
	p = setShaders ("bumpmap.vert", "bumpmap.frag");
	pngSetStandardOrientation(1);
	colortex = pngBind("brick_wall.png", PNG_NOMIPMAP, PNG_SOLID, NULL, GL_CLAMP, GL_LINEAR, GL_LINEAR);
	normaltex = pngBind("brick_wallDOT3.png", PNG_NOMIPMAP, PNG_SOLID, NULL, GL_CLAMP, GL_LINEAR, GL_LINEAR);

	glActiveTexture(GL_TEXTURE0);
	glBindTexture(GL_TEXTURE_2D, normaltex);
	glActiveTexture(GL_TEXTURE1);
	glBindTexture(GL_TEXTURE_2D, colortex);
	
	glUseProgram(p);
	glUniform1i(glGetUniformLocation(p,"NormalMap"), 0);
	glUniform1i(glGetUniformLocation(p,"ColorMap"),  1);

	tan_loc   = glGetAttribLocation(p, "Tangent");
	bitan_loc = glGetAttribLocation(p, "Bitangent");
	nobumploc = glGetUniformLocation(p, "nobump");
}
Ejemplo n.º 2
0
void initScene(int program)
{
	glEnable(GL_TEXTURE_2D);
	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

	glActiveTexture (GL_TEXTURE0);
	pngSetStandardOrientation (1);
	floorTid = pngBind("marble.png", PNG_BUILDMIPMAPS, PNG_SOLID, NULL, GL_REPEAT, GL_LINEAR, GL_LINEAR_MIPMAP_LINEAR);
	// sceneTid not used
	
	int sceneMaploc = glGetUniformLocation (program, "sceneMap");
	glUniform1i (sceneMaploc, 0);

	initMD2M();
}
Ejemplo n.º 3
0
void init()
{
	glClearColor (.4,.4,.4,1);
	glEnable (GL_DEPTH_TEST);
	//glEnable();
	glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

	pngSetStandardOrientation (1);

	glActiveTexture (GL_TEXTURE0);
	glEnable (GL_TEXTURE_2D);
	brickid = pngBind("brick.png", PNG_NOMIPMAP, PNG_SOLID, NULL, GL_CLAMP, GL_LINEAR, GL_LINEAR);

	glActiveTexture (GL_TEXTURE1);
	glDisable (GL_TEXTURE_2D);
	spotid = pngBind("spot.png", PNG_NOMIPMAP, PNG_SOLID, NULL, GL_CLAMP, GL_LINEAR, GL_LINEAR);

}
Ejemplo n.º 4
0
void init()
{
	//
	// default setting: light on (and nothing else)
	//
	glEnable (GL_DEPTH_TEST);
	glEnable (GL_LIGHTING);
	glEnable (GL_LIGHT0);
	glClearColor (.4,.4,.4,1);
	
	// reading OBJ model
	
	m1 = glmReadOBJ ("pickup.obj");
	glmUnitize (m1);
	glmFacetNormals (m1);
	glmVertexNormals (m1, 90);

	

	pngSetStandardOrientation(1); 
	treetexture = pngBind("shrub1.png", PNG_NOMIPMAP, PNG_ALPHA, NULL, GL_CLAMP, GL_LINEAR, GL_LINEAR);
}
Ejemplo n.º 5
0
void initFloor(char* filename)
{
	pngSetStandardOrientation (1);
	FloorTexture = pngBind(filename, PNG_BUILDMIPMAPS, PNG_SOLID, NULL, GL_REPEAT, GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR);
}
Ejemplo n.º 6
0
void loadTextureMaps(e	*E)
{
	int	i;
	//pngInfo infoLayer;
	pngSetStandardOrientation(1);
	pngSetViewingGamma(1.45);
	
	// increment the number of layers that we have
	// this used to be in the XML file but for this version
	// of the code we generate the path and file name at run time
	
	E->numLayers++;
	// generate the colorbar filename
	sprintf(E->L[E->numLayers-1].textureMap,"%s/colorbars/%s256x256.png",E->texture_archive_path, E->standard_name);
	
	E->numLayers++;
	// now generate the surface texture file name
	sprintf(E->L[E->numLayers-1].textureMap,"%s/%s/img/%.6f.jpg",E->texture_archive_path, E->standard_name, E->start_date);
	
	
	// load the texture maps
	// start from the center and go to the surface
	for(i=0;i<E->numLayers;i++){
		if(strncmp("NULL", E->L[i].textureMap,4) == 0){
			// don't assign a texture map
		}
		else{
			
			 // original libpng loader
			/*
			E->texture[i] = pngBind(E->L[i].textureMap, 
									PNG_BUILDMIPMAPS, 
									PNG_ALPHA, 
									&infoLayer, 
									GL_CLAMP_TO_EDGE, 
									//GL_REPEAT,
									GL_LINEAR_MIPMAP_LINEAR, 
									GL_LINEAR_MIPMAP_LINEAR);
			 
			*/
			
			E->texture[i] =  SOIL_load_OGL_texture(
												   E->L[i].textureMap,
												   SOIL_LOAD_AUTO,
												   SOIL_CREATE_NEW_ID,
												   //1,
												   SOIL_FLAG_INVERT_Y 
												   );
			
			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
			
			
			if (E->texture[i] == 0) {
				fprintf(stderr,"getparams.c: Can't load file: %s\n",E->L[i].textureMap);
				exit(1);
			}
			
			else{
				//printf("getparams.c: %s: Size=%i,%i Depth=%i Alpha=%i\n", 
				//					E->L[i].textureMap,
				//					infoLayer.Width, 
				//					infoLayer.Height, 
				//					infoLayer.Depth, 
				//					infoLayer.Alpha);
				//printf("getparams.c: numlayers = %d, texture[%d] =  %s\n", E->numLayers, i, E->L[i].textureMap);
			}
			
		}
	}
}