资源简介
用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参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论