コード例 #1
0
ファイル: reflect.cpp プロジェクト: shanfl/collectcode
/*------------------------------------*/
void loadFace(GLenum target, char *filename)
{
	pngRawInfo png;
	GLenum	format;
	
	png.Data = 0;
	png.Palette = 0;
	pngLoadRaw(filename, &png);

	if(png.Palette)
	{
		fprintf(stderr, "error - \"%s\" - paletted images not supported.\n", filename);
		exit(0);
	}
	if(png.Alpha)
		format = GL_RGBA;
	else
		format = GL_RGB;

	if(mipmap)
	{
		gluBuild2DMipmaps(target, png.Components,
			png.Width, png.Height,
			format, GL_UNSIGNED_BYTE, png.Data);
	}
	else
	{
		glTexImage2D(target, 0, png.Components,
			png.Width, png.Height, 0,
			format, GL_UNSIGNED_BYTE, png.Data);
	}
	
	free(png.Data);
}
コード例 #2
0
ファイル: Texture.cpp プロジェクト: nishimotz/facesynthesizer
void Texture::BindTexture()
{
	glGenTextures(1, &m_texture_id);
	glBindTexture(GL_TEXTURE_2D, m_texture_id);

	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

	glMatrixMode(GL_TEXTURE);
		glLoadIdentity();
		glTranslatef(0.5, 0.5, 0.0);
		glScalef(0.5, 0.5, 1.0);
	glMatrixMode(GL_MODELVIEW);


	if ( m_pData == NULL ) { // pnt format

		pngLoadRaw(m_sFileName.c_str(), &m_pngInfo);
		m_width = m_pngInfo.Width;
		m_height = m_pngInfo.Height;
		m_alpha = OFF_ALPHA;
		m_depth = 3;
		m_pData = new byte[m_height * m_width * m_depth];
	
		//swap
		for( int i = 0; i < m_height; i++ ) {
			for( int j = 0; j < m_width; j++ ) {
				m_pData[(i * m_width + j) * 3 + 0] = m_pngInfo.Data[((m_height - i) * m_width + j) * 3 + 0];
				m_pData[(i * m_width + j) * 3 + 1] = m_pngInfo.Data[((m_height - i) * m_width + j) * 3 + 1];
				m_pData[(i * m_width + j) * 3 + 2] = m_pngInfo.Data[((m_height - i) * m_width + j) * 3 + 2];
			}
		}
		free(m_pngInfo.Data);

		glTexImage2D(GL_TEXTURE_2D, 0, 3, GetWidth(), GetHeight(), 
			0, GL_RGB, GL_UNSIGNED_BYTE, GetData());
	}
	else {
		glTexImage2D(GL_TEXTURE_2D, 0, 3, GetWidth(), GetHeight(), 
			0, GL_RGBA, GL_UNSIGNED_BYTE, GetData());
	}
}
コード例 #3
0
ファイル: HW2.cpp プロジェクト: mdes4214/Terrain
void init(void)
{
	glEnable(GL_DEPTH_TEST);
	glClearColor(0.6, 0.6, 0.6, 1);
	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

	pngLoadRaw("terrain5.png", &info);
	setheight();
	move[1] = bilinear(move[0], move[2]);
	tri[0] = Vec3(0, bilinear(0, 0.5), 0.5);
	tri[1] = Vec3(2.5, bilinear(2.5, 0), 0);
	tri[2] = Vec3(0, bilinear(0, -0.5), -0.5);

	car = glmReadOBJ("porsche.obj");
	glmUnitize(car);
	glmScale(car, 15);
	glmFacetNormals(car);
	glmVertexNormals(car, 90);

	glEnable(GL_TEXTURE_2D);
}