91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

使用opengl繪制太陽、地球、月球。1. 可以用鼠標左鍵拖拽,用鼠標滾輪縮放。2. 實現了太陽光線照射地球和月球。 3. 添加有紋理。

資源截圖

代碼片段和文件信息

#include?“loadBMP.h“

texture?*?sun?*earth?*moon; //紋理指針

unsigned?char?*?LoadBmpFile(char?*?filename?BITMAPINFOHEADER?*?bmpInfoHeader)?{

FILE?*?file;
BITMAPFILEHEADER?bmpFileHeader;
unsigned?char?*?image;
unsigned?int?imageIdx?=?0;
unsigned?char?tempRGB;

fopen_s(&file?filename?“rb“);
if?(file?==?NULL)
return?0;

fread(&bmpFileHeader?sizeof(BITMAPFILEHEADER)?1?file); //?讀取?BMP?文件頭

if?(bmpFileHeader.bfType?!=?BITMAP_ID) //?驗證是否是一個?BMP?文件
{
fclose(file);
return?0;
}

fread(bmpInfoHeader?sizeof(BITMAPINFOHEADER)?1?file); //?讀位圖信息頭
fseek(file?bmpFileHeader.bfOffBits?SEEK_SET); //?將文件指針移到位圖數據的開始處
image?=?(unsigned?char?*)malloc(bmpInfoHeader->biSizeImage); //?分配內存給位圖數據

if?(!image)
{
free(image);
fclose(file);
return?0;
}


fread(image?1?bmpInfoHeader->biSizeImage?file); //?讀取位圖數據

if?(image?==?NULL)
{
fclose(file);
return?0;
}

//?反轉?R?和?B?值以得到?RGB,因為位圖顏色格式是?BGR
for?(imageIdx?=?0;?imageIdx?biSizeImage;?imageIdx?+=?3)
{
tempRGB?=?image[imageIdx];
image[imageIdx]?=?image[imageIdx?+?2];
image[imageIdx?+?2]?=?tempRGB;
}

fclose(file);
return?image;
}

texture?*?LoadTexFile(char?*?filename)?{
BITMAPINFOHEADER?texInfo;
texture?*?thisTexture;

thisTexture?=?(texture?*)malloc(sizeof(texture));
if?(thisTexture?==?NULL)
return?0;

thisTexture->data?=?LoadBmpFile(filename?&texInfo); //?調入紋理數據并檢查有效性
if?(thisTexture->data?==?NULL)
{
free(thisTexture);
return?0;
}

thisTexture->width?=?texInfo.biWidth; //?設置紋理的寬和高
thisTexture->height?=?texInfo.biHeight;

glGenTextures(1?&thisTexture->texID); //?生成紋理對象名

return?thisTexture;
}

BOOL?LoadAllTextures()?{

sun?=?LoadTexFile(“sun.bmp“);
if?(sun?==?NULL)
return?FALSE;

glBindTexture(GL_TEXTURE_2D?sun->texID);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_MIN_FILTER?GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_WRAP_S?GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_WRAP_T?GL_REPEAT);
gluBuild2DMipmaps(GL_TEXTURE_2D?GL_RGBA?sun->width?sun->height?GL_RGB?GL_UNSIGNED_BYTE?sun->data);


earth?=?LoadTexFile(“earth.bmp“);
if?(earth?==?NULL)
return?FALSE;

glBindTexture(GL_TEXTURE_2D?earth->texID);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_MIN_FILTER?GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_WRAP_S?GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_WRAP_T?GL_REPEAT);
gluBuild2DMipmaps(GL_TEXTURE_2D?GL_RGBA?earth->width?earth->height?GL_RGB?GL_UNSIGNED_BYTE?earth->data);


moon?=?LoadTexFile(“moon.bmp“);
if?(moon?==?NULL)
return?FALSE;

glBindTexture(GL_TEXTURE_2D?moon->texID);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_MAG_FILTER?GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D?GL_TEXTURE_MIN_FIL

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????..A..H.?????44544??2018-12-06?08:27??work\.vs\work\v14\.suo

?????文件?????218624??2015-10-14?09:58??work\Debug\freeglut.dll

?????文件?????337408??2015-10-14?09:58??work\Debug\glew32.dll

?????文件?????350720??2015-10-14?09:58??work\Debug\glewinfo.exe

?????文件??????43520??2015-10-14?09:58??work\Debug\glfw3.dll

?????文件?????222720??2015-10-14?09:58??work\Debug\visualinfo.exe

?????文件?????921600??2018-12-04?19:00??work\Debug\work.pdb

?????文件???????9468??2018-11-09?21:56??work\packages\nupengl.core.0.1.0.1\.signature.p7s

?????文件????????232??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\configurations.autopkg

?????文件???????1847??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\default-propertiesui.xml

?????文件???????7837??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\docs\license.txt

?????文件????????703??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\freeglut.h

?????文件???????9246??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\freeglut_ext.h

?????文件??????27148??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\freeglut_std.h

?????文件?????943450??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\glew.h

?????文件????????660??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\glut.h

?????文件??????70092??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\glxew.h

?????文件??????63627??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GL\wglew.h

?????文件??????82172??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GLFW\glfw3.h

?????文件???????5684??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\include\GLFW\glfw3native.h

?????文件??????36642??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\lib\Win32\freeglut.lib

?????文件?????562210??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\lib\Win32\glew32.lib

?????文件??????17748??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\lib\Win32\glfw3dll.lib

?????文件??????33672??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\lib\x64\freeglut.lib

?????文件?????553592??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\lib\x64\glew32.lib

?????文件??????17418??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\lib\x64\glfw3dll.lib

?????文件???????4857??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\native\nupengl.core.targets

?????文件?????????73??2015-10-14?09:58??work\packages\nupengl.core.0.1.0.1\build\publisher-info.txt

?????文件?????352318??2018-12-04?17:33??work\packages\nupengl.core.0.1.0.1\nupengl.core.0.1.0.1.nupkg

?????文件???????9467??2018-11-09?13:32??work\packages\nupengl.core.redist.0.1.0.1\.signature.p7s

............此處省略105個文件信息

評論

共有 條評論