资源简介

OPENGL三维场景搭建、漫游、交互。包括凹凸地形,键盘交互、鼠标交互、树木,火焰等

资源截图

代码片段和文件信息

#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  图形实验二\图形实验二\img\fire\
     文件      373686  2017-05-28 12:10  图形实验二\图形实验二\img\fire\00001.bmp
     文件      373686  2017-05-28 12:11  图形实验二\图形实验二\img\fire\00002.bmp
     文件      373686  2017-05-28 12:12  图形实验二\图形实验二\img\fire\00003.bmp
     文件      373686  2017-05-28 12:14  图形实验二\图形实验二\img\fire\00004.bmp
     文件      373686  2017-05-28 12:14  图形实验二\图形实验二\img\fire\00005.bmp
     文件      373686  2017-05-28 12:16  图形实验二\图形实验二\img\fire\00006.bmp
     文件      373686  2017-05-28 12:16  图形实验二\图形实验二\img\fire\00007.bmp
     文件      373686  2017-05-28 12:16  图形实验二\图形实验二\img\fire\00008.bmp
     文件     1382444  2017-05-28 15:37  图形实验二\图形实验二\img\fire\51_064_00000.tga
     文件     1382444  2017-05-28 15:38  图形实验二\图形实验二\img\fire\51_064_00001.tga
     文件     1382444  2017-05-28 15:34  图形实验二\图形实验二\img\fire\51_064_00002.tga
     文件     1382444  2017-05-28 15:38  图形实验二\图形实验二\img\fire\51_064_00003.tga
     文件     1382444  2017-05-28 15:39  图形实验二\图形实验二\img\fire\51_064_00004.tga
     文件     1382444  2017-05-28 15:39  图形实验二\图形实验二\img\fire\51_064_00005.tga
     文件     1382444  2017-05-28 15:39  图形实验二\图形实验二\img\fire\51_064_00006.tga
     文件     1382444  2017-05-28 15:40  图形实验二\图形实验二\img\fire\51_064_00007.tga
     目录           0  2017-06-23 10:57  图形实验二\图形实验二\img\skybox\
     文件       98358  2017-05-24 20:32  图形实验二\图形实验二\img\skybox\1.bmp
     文件       98358  2017-05-24 20:32  图形实验二\图形实验二\img\skybox\2.bmp
     文件       98358  2017-05-24 20:33  图形实验二\图形实验二\img\skybox\3.bmp
     文件       98358  2017-05-24 20:33  图形实验二\图形实验二\img\skybox\4.bmp
     文件      196662  2017-05-24 20:33  图形实验二\图形实验二\img\skybox\5.bmp
     文件      786486  2017-05-25 11:03  图形实验二\图形实验二\img\skybox\land.bmp
     文件        3126  2001-01-07 02:06  图形实验二\图形实验二\img\skybox\Terrain1.bmp
............此处省略23个文件信息

评论

共有 条评论