Пример #1
0
/*
 * r_init
 * Perform any one-time GL state changes.
 */
static void r_init()
{
	lost = 0;
	won = 0;
	hit = 0;
	randx = rand()%21-10;
	randz = rand()%21-10;
	size = size/2;

	int myGLTexture, myTexWidth, myTexHeight, myTexBPP;

	glEnable(GL_DEPTH_TEST);
//	glEnable(GL_CULL_FACE);

	//NEW TEXTURE STUFF
	glEnable(GL_TEXTURE_2D);
	glEnable(GL_BLEND);
	glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	//You might want to play with changing the modes
	//glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

//	renderer_img_loadTGA("buttons.tga",
//			&textureButtons, &myTexWidth, &myTexHeight, &myTexBPP);
	renderer_img_loadTGA("brick.tga",
			&textureBrick, &myTexWidth, &myTexHeight, &myTexBPP);
	renderer_img_loadTGA("Starfield.tga",
			&textureStars, &myTexWidth, &myTexHeight, &myTexBPP);
	renderer_img_loadTGA("lava01.tga",
			&textureLava, &myTexWidth, &myTexHeight, &myTexBPP);
//	renderer_model_loadASE("submarine.ASE", efalse);
	renderer_model_loadASE("volcano.ASE", efalse);

	switch(points) {
	case 0:
		renderer_img_loadTGA("score0.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 1:
		renderer_img_loadTGA("score1.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 2:
		renderer_img_loadTGA("score2.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 3:
		renderer_img_loadTGA("score3.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 4:
		renderer_img_loadTGA("score4.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 5:
		renderer_img_loadTGA("score5.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 6:
		renderer_img_loadTGA("score6.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 7:
		renderer_img_loadTGA("score7.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 8:
		renderer_img_loadTGA("score8.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	case 9:
		renderer_img_loadTGA("score9.tga",
				&textureScore, &myTexWidth, &myTexHeight, &myTexBPP);
		break;
	}


	camera_init();

	r_setupProjection();
}
Пример #2
0
/*
 * r_init
 * Perform any one-time GL state changes.
 */
static void r_init()
{
	glEnable(GL_DEPTH_TEST);
	glEnable(GL_CULL_FACE);

	//NEW TEXTURE STUFF
	glEnable(GL_TEXTURE_2D);
	//You might want to play with changing the modes
	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

	//These functions load my custom textures.
	//r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/uparrow.tga",
	//		&myGLTexture, &myTexWidth, &myTexHeight, &myTexBPP);

	//Testing
	//"C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face1.tga"
	face1data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face1.tga",
			&face1, &face1Width, &face1Height, &face1BPP, &face1Type);
	face2data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face2.tga",
			&face2, &face2Width, &face2Height, &face2BPP, &face2Type);
	face3data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face3.tga",
			&face3, &face3Width, &face3Height, &face3BPP, &face3Type);
	face4data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face4.tga",
			&face4, &face4Width, &face4Height, &face4BPP, &face4Type);
	face5data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face5.tga",
			&face5, &face5Width, &face5Height, &face5BPP, &face5Type);
	face6data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face6.tga",
			&face6, &face6Width, &face6Height, &face6BPP, &face6Type);


	//*****************************************************************************
		glGenTextures(1, &face1);
		glBindTexture(GL_TEXTURE_2D, face1);

		//Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use
		//mipmaps... without these calls texturing will not work properly.
		glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
		glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

		glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

		//Upload image data to OpenGL
		glTexImage2D(GL_TEXTURE_2D, 0, face1Type, face1Width, face1Height,
				0, face1Type, GL_UNSIGNED_BYTE, face1data);


	//*****************************************************************************
	glGenTextures(1, &face2);
	glBindTexture(GL_TEXTURE_2D, face2);

	//Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use
	//mipmaps... without these calls texturing will not work properly.
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

	//Upload image data to OpenGL
	glTexImage2D(GL_TEXTURE_2D, 0, face2Type, face2Width, face2Height,
			0, face2Type, GL_UNSIGNED_BYTE, face2data);

	//*************************************************************************
	glGenTextures(1, &face3);
	glBindTexture(GL_TEXTURE_2D, face3);

	//Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use
	//mipmaps... without these calls texturing will not work properly.
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

	//Upload image data to OpenGL
	glTexImage2D(GL_TEXTURE_2D, 0, face3Type, face3Width, face3Height,
		0, face3Type, GL_UNSIGNED_BYTE, face3data);

	//*************************************************************************
	glGenTextures(1, &face4);
	glBindTexture(GL_TEXTURE_2D, face4);

	//Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use
	//mipmaps... without these calls texturing will not work properly.
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

	//Upload image data to OpenGL
	glTexImage2D(GL_TEXTURE_2D, 0, face4Type, face4Width, face4Height,
		0, face4Type, GL_UNSIGNED_BYTE, face4data);

	//*************************************************************************
	glGenTextures(1, &face5);
	glBindTexture(GL_TEXTURE_2D, face5);

	//Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use
	//mipmaps... without these calls texturing will not work properly.
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

	//Upload image data to OpenGL
	glTexImage2D(GL_TEXTURE_2D, 0, face5Type, face5Width, face5Height,
		0, face5Type, GL_UNSIGNED_BYTE, face5data);
	//*************************************************************************
	glGenTextures(1, &face6);
	glBindTexture(GL_TEXTURE_2D, face6);

	//Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use
	//mipmaps... without these calls texturing will not work properly.
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

	//Upload image data to OpenGL
	glTexImage2D(GL_TEXTURE_2D, 0, face6Type, face6Width, face6Height,
		0, face6Type, GL_UNSIGNED_BYTE, face6data);

	camera_init();

	r_setupProjection();
	r_loadGameMeshes();
}