xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 356KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-22
  • 語言: 其他
  • 標簽:

資源簡介

做的是把一個旋轉立方體的6個面貼上6幅不同的圖片,設置了兩個鍵盤控制,一個是通過glutKeyboardFunc(keyboard);來控制燈光的開和關,用glutSpecialFunc(special);來分別改變立方體延x,y,z軸的旋轉角度。

資源截圖

代碼片段和文件信息

#pragma?comment?(lib“glaux.lib“)?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

GLuint?texture[6];????//存儲紋理數據
GLfloat?x?=?0.0fy?=?0.0fz?=?0.0f;//旋轉角度
GLfloat?deltax?=?0.0fdeltay?=?0.0f;//旋轉變化量
GLfloat?depth?=?0.0f;//縮放變化量
bool?lightlp;
GLfloat?LightAmbient[]?=?{0.0f0.0f1.0f1.0f};//環境光顏色:藍色
GLfloat?LightDiffuse[]?=?{1.0f1.0f1.0f1.0f};//散射光顏色
GLfloat?LightPosition[]?=?{0.0f0.0f2.0f1.0f};//指定光源的位置

AUX_RGBImageRec?*LoadBMP(char?*Filename) //?載入位圖圖象?
{
FILE?*File=NULL;

if?(!Filename) //確定給定的文件名有效
{
return?NULL; //?如果沒提供,返回?NULL???
}

File?=?fopen(Filename“r“); //?打開文件

if?(File)?
{
fclose(File); //?關閉文件句柄
File?=?NULL;
return?auxDIBImageLoad(Filename);???????//?載入位圖并返回指針
}

return?NULL; //?如果載入失敗,返回?NULL???
}

int?LoadGLTextures()?????????//?根據加載的位圖創建紋理
{
int?Status=FALSE;?????????//?指示紋理創建是否成功的標志

AUX_RGBImageRec?*TextureImage[6];?????//?創建一個紋理圖像數組,這里指定數組大小為6

memset(TextureImage0sizeof(void?*)*6);???????????//?初始化紋理圖像數組,為其分配內存

char?*pictures[]?=?{?//?創建一個位圖名稱數組,對應6幅位圖
“d:/我的文檔/Visual?Studio?2005/Projects/黃美燕的作業/Data/data1.bmp“
“d:/我的文檔/Visual?Studio?2005/Projects/黃美燕的作業/Data/data2.bmp“
“d:/我的文檔/Visual?Studio?2005/Projects/黃美燕的作業/Data/data3.bmp“
“d:/我的文檔/Visual?Studio?2005/Projects/黃美燕的作業/Data/data4.bmp“
“d:/我的文檔/Visual?Studio?2005/Projects/黃美燕的作業/Data/data5.bmp“
“d:/我的文檔/Visual?Studio?2005/Projects/黃美燕的作業/Data/data6.bmp“
};
for(int?i=0;?i<6;?i++)?//?遍歷位圖名稱數組,根據位圖名稱分別生成
{
if?(TextureImage[i]=LoadBMP(pictures[i]))?//?加載位圖i成功,修改狀態標志變量Status為TRUE
{
Status=TRUE;???????

glGenTextures(1?&texture[i]);?????//?為第i個位圖創建紋理
glBindTexture(GL_TEXTURE_2D?texture[i]);?//?將生成的紋理的名稱綁定到指定的紋理上
glTexImage2D(GL_TEXTURE_2D?0?3?TextureImage[i]->sizeX?TextureImage[i]->sizeY?0?GL_RGB?GL_UNSIGNED_BYTE?TextureImage[i]->data);//用來指定二維紋理圖像
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR);//實現線形濾波的功能,當紋理映射到圖形表面以后,如果因為其它條件的設置導致紋理不能更好地顯示的時候,進行過濾,按照指定的方式進行顯示,可能會過濾掉顯示不正常的紋理像素。
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR);//線性濾波

}

if?(TextureImage[i])?????????//?紋理是否存在
{
if?(TextureImage[i]->data)?//?紋理圖像是否存在??????
{
free(TextureImage[i]->data);?//?釋放紋理圖像占用的內存??
}

free(TextureImage[i]);?//?釋放圖像結構???????
}
}
return?Status;??????????//?創建紋理并加載,返回成功或者失敗的標志Status
}

void?reshape(int?wint?h)
{
glViewport(00(GLsizei)w(GLsizei)h);//?指定視口的位置和大小
glMatrixMode(GL_PROJECTION);//?切換當前矩陣到投影矩陣
glLoadIdentity();//?設置投影矩陣為一個單位矩陣
gluPerspective(6015-5);//設置透視投影矩陣
glMatrixMode(GL_MODELVIEW);//?切換當前矩形到模型視景矩陣
glLoadIdentity();//?設置模型視景矩陣為一個單位矩陣
gluLookAt(0.00.010.00.00.00.00.01.00.0);//設置眼睛參數
}

void?display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);?
glPushMatrix()

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

?????文件??????10413??2011-01-06?10:17??opengl紋理貼圖\aa.cpp

?????文件?????196662??2011-01-04?12:48??opengl紋理貼圖\Data\data1.bmp

?????文件?????196662??2011-01-04?12:48??opengl紋理貼圖\Data\data2.bmp

?????文件?????196662??2011-01-04?12:48??opengl紋理貼圖\Data\data3.bmp

?????文件?????196662??2011-01-04?12:48??opengl紋理貼圖\Data\data4.bmp

?????文件?????196662??2011-01-04?12:48??opengl紋理貼圖\Data\data5.bmp

?????文件?????196662??2011-01-04?12:49??opengl紋理貼圖\Data\data6.bmp

????..A.SH.?????82944??2011-01-04?12:49??opengl紋理貼圖\Data\Thumbs.db

?????目錄??????????0??2011-03-11?17:04??opengl紋理貼圖\Data

?????目錄??????????0??2011-03-11?17:04??opengl紋理貼圖

-----------?---------??----------?-----??----

??????????????1273329????????????????????10


評論

共有 條評論

相關資源