資源簡介
OPENGL三維場景搭建、漫游、交互。包括凹凸地形,鍵盤交互、鼠標交互、樹木,火焰等

代碼片段和文件信息
#include?“dynamic.h“
DynamicTexture::DynamicTexture()
{
for?(int?i?=?0;?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? 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個文件信息
評論
共有 條評論