资源简介
用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.em
文件 468 2008-11-21 09:48 OpenGL_TextureCube\OpenGL_TextureCube\Debug\OpenGL_TextureCube.exe.em
文件 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个文件信息
相关资源
- OpenGL 场景漫游
- opengl_shader_鱼眼校正的(demo)
- opengl与QT实现天空盒
- OpenGL程序构造天空和地面
- opengl的OpenGL教程中文版
- VC点云数据显示,OPENGL图像渲染.rar
- openGL实现地球自动围绕太阳转
- 史上最全OpenGL文件安装包
- 第一个3d建模的demo
- OpenGL开发库完整版
- 用openGL实现的3D国际象棋游戏源码
- Opengl写的摩天轮源码
- OpenGL3.3官方文档
- 碰撞检测毕业论文
- OpenGL库文件完整版
- source code for Computer Graphics: Programming
- opengl 实现水波纹
- openGL bunny 画兔子
- opengl glee
- 史上最全OpenGL库文件
- opengl做的飞机模型
- openglbible中需要的gltools.h及.a文件
- QT使用OpenGL显示YUV420和YUV444数据,内附
- opengl迷宫游戏
- OpenGL绘制三维地形图184196
- opengl烟花
- 鼠标控制物体缩放旋转opengl+glut
- QT+OpenGL开发而成,能以点,线,面,
- vs用opengl环境搭建freeglut+glew 64位 包自
- md3loader,导入md3模型源程序
评论
共有 条评论