OPENGL三维场景搭建、漫游、交互。包括凹凸地形,键盘交互、鼠标交互、树木,火焰等
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-06-23 10:57 图形实验二
目录 0 2017-06-23 10:57 图形实验二图形实验二
文件 1327 2017-05-20 16:02 图形实验二图形实验二.sln
文件 9097 2017-06-04 17:51 图形实验二图形实验二dynamic.cpp
文件 481 2017-05-28 15:45 图形实验二图形实验二dynamic.h
目录 0 2017-06-23 10:57 图形实验二图形实验二img
目录 0 2017-06-23 10:57 图形实验二图形实验二imgfire
文件 373686 2017-05-28 12:10 图形实验二图形实验二imgfire 0001.bmp
文件 373686 2017-05-28 12:11 图形实验二图形实验二imgfire 0002.bmp
文件 373686 2017-05-28 12:12 图形实验二图形实验二imgfire 0003.bmp
文件 373686 2017-05-28 12:14 图形实验二图形实验二imgfire 0004.bmp
文件 373686 2017-05-28 12:14 图形实验二图形实验二imgfire 0005.bmp
文件 373686 2017-05-28 12:16 图形实验二图形实验二imgfire 0006.bmp
文件 373686 2017-05-28 12:16 图形实验二图形实验二imgfire 0007.bmp
文件 373686 2017-05-28 12:16 图形实验二图形实验二imgfire 0008.bmp
文件 1382444 2017-05-28 15:37 图形实验二图形实验二imgfire51_064_00000.tga
文件 1382444 2017-05-28 15:38 图形实验二图形实验二imgfire51_064_00001.tga
文件 1382444 2017-05-28 15:34 图形实验二图形实验二imgfire51_064_00002.tga
文件 1382444 2017-05-28 15:38 图形实验二图形实验二imgfire51_064_00003.tga
文件 1382444 2017-05-28 15:39 图形实验二图形实验二imgfire51_064_00004.tga
文件 1382444 2017-05-28 15:39 图形实验二图形实验二imgfire51_064_00005.tga
文件 1382444 2017-05-28 15:39 图形实验二图形实验二imgfire51_064_00006.tga
文件 1382444 2017-05-28 15:40 图形实验二图形实验二imgfire51_064_00007.tga
目录 0 2017-06-23 10:57 图形实验二图形实验二imgskybox
文件 98358 2017-05-24 20:32 图形实验二图形实验二imgskybox1.bmp
文件 98358 2017-05-24 20:32 图形实验二图形实验二imgskybox2.bmp
文件 98358 2017-05-24 20:33 图形实验二图形实验二imgskybox3.bmp
文件 98358 2017-05-24 20:33 图形实验二图形实验二imgskybox4.bmp
文件 196662 2017-05-24 20:33 图形实验二图形实验二imgskybox5.bmp
文件 786486 2017-05-25 11:03 图形实验二图形实验二imgskyboxland.bmp
文件 3126 2001-01-07 02:06 图形实验二图形实验二imgskyboxTerrain1.bmp
............此处省略23个文件信息
#include “dynamic.h“
DynamicTexture::DynamicTexture()
{
for (int i = 0; i < FIRE_NUM; i++) {
firetextureNum[i] = i;
}
string fire1 = “img/fire/51_064_00000.tga“;
string fire2 = “img/fire/51_064_00001.tga“;
string fire3 = “img/fire/51_064_00002.tga“;
string fire4 = “img/fire/51_064_00003.tga“;
string fire5 = “img/fire/51_064_00004.tga“;
string fire6 = “img/fire/51_064_00005.tga“;
string fire7 = “img/fire/51_064_00006.tga“;
string fire8 = “img/fire/51_064_00007.tga“;
firepath.push_back(fire1);
firepath.push_back(fire2);
firepath.push_back(fire3);
firepath.push_back(fire4);
firepath.push_back(fire5);
firepath.push_back(fire6);
firepath.push_back(fire7);
firepath.push_back(fire8);
}
DynamicTexture::~DynamicTexture()
{
}
void DynamicTexture::loadTexImages() {
glGenTextures(FIRE_NUM firetextureNum);
for (int i = 0; i < firepath.size(); i++) { //火焰
GLbyte *pBits = NULL;
int nWidth nHeight nComponents;
GLenum eFormat;
const char *p = firepath[i].c_str();
//pBits = gltReadBMPBits(p &nWidth &nHeight);
pBits = gltReadTGABits(p &nWidth &nHeight &nComponents &eFormat);
if (pBits == NULL)
return;
glBindTexture(GL_TEXTURE_2D firetextureNum[i]);
gluBuild2DMipmaps(GL_TEXTURE_2D nComponents nWidth nHeight eFormat GL_UNSIGNED_BYTE pBits);
//gluBuild2DMipmaps(GL_TEXTURE_2D GL_RGB nWidth nHeight GL_RGB GL_UNSIGNED_BYTE pBits);
free(pBits);
}
}
void DynamicTexture::drawFire(int kfloat n[]) {
glEnable(GL_TEXTURE_2D);
glTexEnvi(GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV GL_COMBINE_RGB GL_INTERPOLATE);
glTexEnvi(GL_TEXTURE_ENV GL_SOURCE0_RGB GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV GL_OPERAND0_RGB GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV GL_SOURCE1_RGB GL_PREVIOUS);
glTexEnvi(GL_TEXTURE_ENV GL_OPERAND1_RGB GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV GL_SOURCE2_RGB GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV GL_OPERAND2_RGB GL_SRC_COLOR);
glTexEnvf(GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_REPLACE);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA);
glBindTexture(GL_TEXTURE_2D firetextureNum[k]);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glBegin(GL_QUADS);
glTexCoord2f(1.0f 1.0f); glVertex3f(-5 * n[0] -1.0f -5.0f * n[1]);
glTexCoord2f(0.0f 1.0f); glVertex3f(5 * n[0] -1.0f 5.0f * n[1]);
glTexCoord2f(0.0f 0.0f); glVertex3f(5 * n[0] 10 5.0f * n[1]);
glTexCoord2f(1.0f 0.0f); glVertex3f(-5 * n[0] 10 -5.0f * n[1]);
glEnd();
glPopMatrix();
glDisable(GL_TEXTURE_2D);
}
/*************************************************/
#pragma pack(1)
struct RGB {
GLbyte blue;
GLbyte green;
GLbyte red;
GLbyte alpha;
};
struct BMPInfoHeader {
GLuint size;
GLuint width;
GLuint height;
GLushort planes;
GLushort bits;
GLuint compression;
GLuint imageSize;
GLuint xScale;
GLuint yScale;
GLuint colors;
GLuint impor
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-06-23 10:57 图形实验二
目录 0 2017-06-23 10:57 图形实验二图形实验二
文件 1327 2017-05-20 16:02 图形实验二图形实验二.sln
文件 9097 2017-06-04 17:51 图形实验二图形实验二dynamic.cpp
文件 481 2017-05-28 15:45 图形实验二图形实验二dynamic.h
目录 0 2017-06-23 10:57 图形实验二图形实验二img
目录 0 2017-06-23 10:57 图形实验二图形实验二imgfire
文件 373686 2017-05-28 12:10 图形实验二图形实验二imgfire 0001.bmp
文件 373686 2017-05-28 12:11 图形实验二图形实验二imgfire 0002.bmp
文件 373686 2017-05-28 12:12 图形实验二图形实验二imgfire 0003.bmp
文件 373686 2017-05-28 12:14 图形实验二图形实验二imgfire 0004.bmp
文件 373686 2017-05-28 12:14 图形实验二图形实验二imgfire 0005.bmp
文件 373686 2017-05-28 12:16 图形实验二图形实验二imgfire 0006.bmp
文件 373686 2017-05-28 12:16 图形实验二图形实验二imgfire 0007.bmp
文件 373686 2017-05-28 12:16 图形实验二图形实验二imgfire 0008.bmp
文件 1382444 2017-05-28 15:37 图形实验二图形实验二imgfire51_064_00000.tga
文件 1382444 2017-05-28 15:38 图形实验二图形实验二imgfire51_064_00001.tga
文件 1382444 2017-05-28 15:34 图形实验二图形实验二imgfire51_064_00002.tga
文件 1382444 2017-05-28 15:38 图形实验二图形实验二imgfire51_064_00003.tga
文件 1382444 2017-05-28 15:39 图形实验二图形实验二imgfire51_064_00004.tga
文件 1382444 2017-05-28 15:39 图形实验二图形实验二imgfire51_064_00005.tga
文件 1382444 2017-05-28 15:39 图形实验二图形实验二imgfire51_064_00006.tga
文件 1382444 2017-05-28 15:40 图形实验二图形实验二imgfire51_064_00007.tga
目录 0 2017-06-23 10:57 图形实验二图形实验二imgskybox
文件 98358 2017-05-24 20:32 图形实验二图形实验二imgskybox1.bmp
文件 98358 2017-05-24 20:32 图形实验二图形实验二imgskybox2.bmp
文件 98358 2017-05-24 20:33 图形实验二图形实验二imgskybox3.bmp
文件 98358 2017-05-24 20:33 图形实验二图形实验二imgskybox4.bmp
文件 196662 2017-05-24 20:33 图形实验二图形实验二imgskybox5.bmp
文件 786486 2017-05-25 11:03 图形实验二图形实验二imgskyboxland.bmp
文件 3126 2001-01-07 02:06 图形实验二图形实验二imgskyboxTerrain1.bmp
............此处省略23个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)