資源簡介
OpenGL實驗八猶他茶壺光照、陰影、紋理,光照效果源碼、陰影效果源碼、紋理效果源碼,及實驗截圖、實驗報告。
代碼片段和文件信息
//?glutEx1.cpp?:?定義控制臺應用程序的入口點。
//
#include?
#include?
#include?
#include?“glut.h“
#define?BITMAP_ID?0x4D42
#define?Height?16
#define?Width?16
GLubyte?image[Height][Width][3];??//?圖像數據
float?fTranslate;
float?fRotate;
float?fScale?????=?1.0f;????//?set?inital?scale?value?to?1.0f
int?status?=?0;
int?status2?=?1;
bool?bPersp?=?false;
bool?bAnim?=?false;
bool?bWire?=?false;
int?wHeight?=?0;
int?wWidth?=?0;
GLuint?texture[3];
void?Draw_Leg();
//?紋理標示符數組,保存兩個紋理的標示符
//?描述:?通過指針,返回filename?指定的bitmap文件中數據。
//?同時也返回bitmap信息頭.(不支持-bit位圖)
//讀紋理圖片
unsigned?char?*LoadBitmapFile(char?*filename?BITMAPINFOHEADER?*bitmapInfoHeader)
{
????FILE?*filePtr;????//?文件指針
????BITMAPFILEHEADER?bitmapFileHeader;????//?bitmap文件頭
????unsigned?char????*bitmapImage;????????//?bitmap圖像數據
????int????imageIdx?=?0;????????//?圖像位置索引
????unsigned?char????tempRGB;????//?交換變量
????????????????????????????????//?以“二進制+讀”模式打開文件filename?
????filePtr?=?fopen(filename?“rb“);
????if?(filePtr?==?NULL)?{
????????printf(“file?not?open\n“);
????????return?NULL;
????}
????//?讀入bitmap文件圖
????fread(&bitmapFileHeader?sizeof(BITMAPFILEHEADER)?1?filePtr);
????//?驗證是否為bitmap文件
????if?(bitmapFileHeader.bfType?!=?BITMAP_ID)?{
????????fprintf(stderr?“Error?in?LoadBitmapFile:?the?file?is?not?a?bitmap?file\n“);
????????return?NULL;
????}
????//?讀入bitmap信息頭
????fread(bitmapInfoHeader?sizeof(BITMAPINFOHEADER)?1?filePtr);
????//?將文件指針移至bitmap數據
????fseek(filePtr?bitmapFileHeader.bfOffBits?SEEK_SET);
????//?為裝載圖像數據創建足夠的內存
????bitmapImage?=?new?unsigned?char[bitmapInfoHeader->biSizeImage];
????//?驗證內存是否創建成功
????if?(!bitmapImage)?{
????????fprintf(stderr?“Error?in?LoadBitmapFile:?memory?error\n“);
????????return?NULL;
????}
????//?讀入bitmap圖像數據
????fread(bitmapImage?1?bitmapInfoHeader->biSizeImage?filePtr);
????//?確認讀入成功
????if?(bitmapImage?==?NULL)?{
????????fprintf(stderr?“Error?in?LoadBitmapFile:?memory?error\n“);
????????return?NULL;
????}
????//由于bitmap中保存的格式是BGR,下面交換R和B的值,得到RGB格式
????for?(imageIdx?=?0;imageIdx?biSizeImage;?imageIdx?+=?3)?{
????????tempRGB?=?bitmapImage[imageIdx];
????????bitmapImage[imageIdx]?=?bitmapImage[imageIdx?+?2];
????????bitmapImage[imageIdx?+?2]?=?tempRGB;
????}
????//?關閉bitmap圖像文件
????fclose(filePtr);
????return?bitmapImage;
}
//加載紋理的函數
void?texload(int?i?char?*filename)
{
????BITMAPINFOHEADER?bitmapInfoHeader;?????????????????????????????????//?bitmap信息頭
????unsigned?char*???bitmapData;???????????????????????????????????????//?紋理數據
????bitmapData?=?LoadBitmapFile(filename?&bitmapInfoHeader);
????glBindTexture(GL_TEXTURE_2D?texture[i]);
????//?指定當前紋理的放大/縮小過濾方式
????glTexParameteri(GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_NEAREST);
????glTexParameteri(GL_TEXTURE_2D?GL_TEXTURE_MIN_FILTER?GL_NEAREST);
????glTexImage2D(GL_TEXTURE_2D
????????0?????????//mipmap層次(通常為,表示最上層)?
????????GL_RGB????//我們希望該紋理有紅、
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????156311??2017-12-11?01:08??OpenGL實驗八猶他茶壺光照、陰影、紋理\1500170434-楊美美-實驗8猶他茶壺.docx
?????文件??????31232??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\Debug\openGL_circle_test.exe
?????文件?????344560??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\Debug\openGL_circle_test.ilk
?????文件?????510976??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\Debug\openGL_circle_test.pdb
?????文件????2359296??2017-10-24?12:05??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\ipch\opengl_circle_test-7f0dc184\opengl_circle_test-e685a681.ipch
?????文件???????1754??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\cl.command.1.tlog
?????文件??????16410??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\CL.read.1.tlog
?????文件???????1226??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\CL.write.1.tlog
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件??????????2??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件???????2048??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件???????4586??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件???????1288??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\li
?????文件????????500??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\mt.command.1.tlog
?????文件????????462??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\mt.read.1.tlog
?????文件????????462??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\mt.write.1.tlog
?????文件????????406??2017-10-24?12:00??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\openGL_circle_test.exe.em
?????文件????????472??2017-10-24?12:00??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\openGL_circle_test.exe.em
?????文件????????381??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\openGL_circle_test.exe.intermediate.manifest
?????文件?????????74??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\openGL_circle_test.lastbuildstate
?????文件???????2524??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\openGL_circle_test.log
?????文件??????34927??2017-10-24?12:06??OpenGL實驗八猶他茶壺光照、陰影、紋理\openGL_test(紋理)\openGL_circle_test\Debug\openGL_circle_test.obj
............此處省略135個文件信息
- 上一篇:OpenCL雙邊濾波實現美顏功能
- 下一篇:Hellocharts圖表控件
評論
共有 條評論