• 大小: 3.55MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-12
  • 语言: 其他
  • 标签: OPENGL  纹理贴图  

资源简介

用openGL做的四面体纹理贴图程序源代码,支持交互

资源截图

代码片段和文件信息

#include “stdafx.h“
#include 
#include 
#include  
#include  
#include 

GLuint texture[6];
GLfloat xrot = 15.0;
GLfloat yrot = 15.0;

AUX_RGBImageRec *LoadBMP(char *Filename)
{
FILE *File=NULL;

if (!Filename)
{
return NULL;
}

File=fopen(Filename“r“);

if (File)
{
fclose(File);
return auxDIBImageLoad(Filename);
}

return NULL;
}
int LoadGLTextures()
{
int Status=FALSE;

AUX_RGBImageRec *TextureImage[6];

if ((TextureImage[0] = LoadBMP(“Data/1.bmp“))&&(TextureImage[1] = LoadBMP(“Data/2.bmp“))&&
(TextureImage[2] = LoadBMP(“Data/3.bmp“))&&(TextureImage[3] = LoadBMP(“Data/4.bmp“))&&
(TextureImage[4] = LoadBMP(“Data/5.bmp“))&&(TextureImage[5] = LoadBMP(“Data/6.bmp“)))
{
Status=TRUE;
glGenTextures(6 &texture[0]);
for (int i=0; i<6; i++)
{
glBindTexture(GL_TEXTURE_2D texture[i]);
glTexImage2D(GL_TEXTURE_2D 0 3 TextureImage[i]->sizeX TextureImage[i]->sizeY 0 GL_RGB GL_UNSIGNED_BYTE TextureImage[i]->data);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR);
}
}

for (int i=0; i<6; i++)
{
if (TextureImage[i])
{
if (TextureImage[i]->data)
{
free(TextureImage[i]->data);
}
free(TextureImage[i]);
}
}
return Status;
}

int myInit(GLvoid){                          

if (!LoadGLTextures())
{
return FALSE;
}
glEnable(GL_TEXTURE_2D);
glShadeModel(GL_SMOOTH);
glClearColor(0.0f 0.0f 0.0f0.0f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST);

return TRUE;
}

void display(GLvoid)
{                     
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0f 0.0f-5.0f);

glRotatef(xrot1.0f0.0f0.0f);
glRotatef(yrot0.0f1.0f0.0f);

//front
glBindTexture(GL_TEXTURE_2Dtexture[0]);
glBegin(GL_QUADS);
glTexCoord2f(0.0f 0.0f); 
glVertex3f(-4.0f -4.0f  4.0f); // 纹理和四边形的左下
glTexCoord2f(1.0f 0.0f); 
glVertex3f( 4.0f -4.0f  4.0f); // 纹理和四边形的右下
glTexCoord2f(1.0f 1.0f); 
glVertex3f( 4.0f  4.0f  4.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f 1.0f); 
glVertex3f(-4.0f  4.0f  4.0f); // 纹理和四边形的左上
glEnd();
//back
glBindTexture(GL_TEXTURE_2Dtexture[1]);
glBegin(GL_QUADS);
glTexCoord2f(1.0f 0.0f);
glVertex3f(-4.0f -4.0f -4.0f); // 纹理和四边形的右下
glTexCoord2f(1.0f 1.0f); 
glVertex3f(-4.0f  4.0f -4.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f 1.0f);
glVertex3f( 4.0f  4.0f -4.0f); // 纹理和四边形的左上
glTexCoord2f(0.0f 0.0f); 
glVertex3f( 4.0f -4.0f -4.0f); // 纹理和四边形的左下
glEnd();
//top
glBindTexture(GL_TEXTURE_2Dtexture[2]);
glBegin(GL_QUADS);
glTexCoord2f(0.0f 1.0f); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      69632  2008-11-21 14:46  OpenGL_TextureCube\debug\OpenGL_TextureCube.exe

     文件     785204  2008-11-21 14:46  OpenGL_TextureCube\debug\OpenGL_TextureCube.ilk

     文件     510976  2008-11-21 14:46  OpenGL_TextureCube\debug\OpenGL_TextureCube.pdb

     文件     750056  2008-11-21 10:22  OpenGL_TextureCube\OpenGL_TextureCube\Data\1.bmp

     文件     750056  2008-11-21 10:22  OpenGL_TextureCube\OpenGL_TextureCube\Data\2.bmp

     文件     750056  2008-11-21 10:22  OpenGL_TextureCube\OpenGL_TextureCube\Data\3.bmp

     文件     750056  2008-11-21 10:21  OpenGL_TextureCube\OpenGL_TextureCube\Data\4.bmp

     文件     750056  2008-11-21 10:21  OpenGL_TextureCube\OpenGL_TextureCube\Data\5.bmp

     文件     750056  2008-11-21 10:21  OpenGL_TextureCube\OpenGL_TextureCube\Data\6.bmp

    ..A.SH.     23552  2008-11-18 14:43  OpenGL_TextureCube\OpenGL_TextureCube\Data\Thumbs.db

     文件       7516  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\Debug\BuildLog.htm

     文件         63  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\Debug\mt.dep

     文件        403  2008-11-21 09:48  OpenGL_TextureCube\OpenGL_TextureCube\Debug\OpenGL_TextureCube.exe.embed.manifest

     文件        468  2008-11-21 09:48  OpenGL_TextureCube\OpenGL_TextureCube\Debug\OpenGL_TextureCube.exe.embed.manifest.res

     文件        385  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\Debug\OpenGL_TextureCube.exe.intermediate.manifest

     文件      28251  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\Debug\OpenGL_TextureCube.obj

     文件    1114112  2008-11-21 14:19  OpenGL_TextureCube\OpenGL_TextureCube\Debug\OpenGL_TextureCube.pch

     文件      10597  2008-11-21 14:19  OpenGL_TextureCube\OpenGL_TextureCube\Debug\stdafx.obj

     文件     183296  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\Debug\vc80.idb

     文件     118784  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\Debug\vc80.pdb

     文件       5985  2008-11-21 14:46  OpenGL_TextureCube\OpenGL_TextureCube\OpenGL_TextureCube.cpp

     文件       4520  2008-11-21 14:19  OpenGL_TextureCube\OpenGL_TextureCube\OpenGL_TextureCube.vcproj

     文件       1419  2008-11-23 15:18  OpenGL_TextureCube\OpenGL_TextureCube\OpenGL_TextureCube.vcproj.yamaraja-PC.yamaraja.user

     文件       1016  2008-11-21 09:46  OpenGL_TextureCube\OpenGL_TextureCube\ReadMe.txt

     文件        223  2008-11-21 09:46  OpenGL_TextureCube\OpenGL_TextureCube\stdafx.cpp

     文件        310  2008-11-21 12:42  OpenGL_TextureCube\OpenGL_TextureCube\stdafx.h

     文件    5131264  2008-11-23 15:18  OpenGL_TextureCube\OpenGL_TextureCube.ncb

     文件        919  2008-11-21 09:46  OpenGL_TextureCube\OpenGL_TextureCube.sln

    ..A..H.     14336  2008-11-23 15:18  OpenGL_TextureCube\OpenGL_TextureCube.suo

     文件    1062126  2008-11-23 15:05  OpenGL_TextureCube\四面体贴图截图.bmp

............此处省略8个文件信息

评论

共有 条评论