資源簡介
opengl繪制簡單場景,實現平移旋轉縮放和燈光
代碼片段和文件信息
/*
?* 這些代碼是由Jeff?Molofee?與2000年寫的,再次我必須感謝Fredric?Echols,因為他使這些代碼看起來更簡潔和高效,并使他易于使用。
?* 如果你發現這些代碼對你有所幫助,請訪問我的站點?http://nehe.gamedev.net/default.asp?,并讓我知道。
?*********************************************************************************************************************************
?* 這份文檔是由DancingWind翻譯的,如果有什么錯誤請e-mail:zhouwei02@mails.tsinghua.edu.cn
?*/
/*********************包含鏈接的庫文件*******************************************************************************************/
#pragma?comment(?lib?“opengl32.lib“?)
#pragma?comment(?lib?“glu32.lib“?)
#pragma?comment(?lib?“glut32.lib“)
#pragma?comment(?lib?“glew32.lib“)
#pragma?comment(?lib?“glaux.lib“)
#pragma?comment(?lib?“vfw32.lib“?)
/********************************************************************************************************************************/
#include? //?Windows的頭文件
#include?“glew.h“ //?包含最新的gl.hglu.h庫
#include?“glut.h“ //?包含OpenGL實用庫
#include?
#define?PI?3.1415926
HDC hDC=NULL; //?窗口著色描述表句柄
HGLRC hRC=NULL; //?OpenGL渲染描述表句柄
HWND hWnd=NULL; //?保存我們的窗口句柄
HINSTANCE hInstance; //?保存程序的實例
bool keys[256]; //?保存鍵盤按鍵的數組
bool active=TRUE; //?窗口的活動標志,缺省為TRUE
bool fullscreen=TRUE; //?全屏標志缺省,缺省設定成全屏模式
GLfloat rquad; //?用于四邊形的角度
LRESULT CALLBACK?WndProc(HWND?UINT?WPARAM?LPARAM); //?WndProc的定義
GLvoid?ReSizeGLScene(GLsizei?width?GLsizei?height) //?重置OpenGL窗口大小
{
if?(height==0) //?防止被零除
{
height=1; //?將Height設為1
}
glViewport(00widthheight); //?重置當前的視口
glMatrixMode(GL_PROJECTION); //?選擇投影矩陣
glLoadIdentity(); //?重置投影矩陣
//?設置視口的大小
gluPerspective(45.0f(GLfloat)width/(GLfloat)height0.1f100.0f);
glMatrixMode(GL_MODELVIEW); //?選擇模型觀察矩陣
glLoadIdentity(); //?重置模型觀察矩陣
}
int?InitGL(GLvoid) //?此處開始對OpenGL進行所有設置
{
glShadeModel(GL_SMOOTH); //?啟用陰影平滑
glClearColor(0.0f?0.0f?0.0f?0.5f); //?黑色背景
glClearDepth(1.0f); //?設置深度緩存
glEnable(GL_DEPTH_TEST); //?啟用深度測試
glDepthFunc(GL_LEQUAL); //?所作深度測試的類型
glHint(GL_PERSPECTIVE_CORRECTION_HINT?GL_NICEST); //?告訴系統對透視進行修正
//光源設置
GLfloat?mat_specular[]?=?{?1.0?1.0?1.0?1.0?};
GLfloat?mat_shininess[]?=?{?50.0?};
GLfloat?light_position[]?=?{?1.0?1.0?1.0?0.0?};?//最后一個參數為0表示該光源是directional的
?//??GLfloat?light_position[]?=?{?1.0?1.0?1.0?1.0?};?//最后一個參數非0表示該光源是positional的
GLfloat?light_ambient[]?=?{?0.5?0.5?0.5?1.0?};//環境光參數
GLfloat?light_diffuse[]?=?{?1.0?1.0?1.0?1.0?};//漫射光
GLfloat?light_specular[]?=?{?0.0?1.0?0.0?1.0?};//鏡面光
//GLfloat?Light_Model_Ambient[]?=?{?0.0??0.0??0.0??1.0?};?//全局環境光設為黑色
???GLfloat?Light_Model_Ambient[]?=?{?0.2??0.2??0.2??1.0?};?//默認的全局環境光
???glLightModelfv(?GL_LIGHT_MODEL_AMBIENT??Light_Model_Ambient?);?//設置全局環境光的方法
???glClearColor?(0.0?0.0?0.0?0.0);
???glShadeModel?(GL_SMOOTH);
???glMaterialfv(GL_FRONT?GL_SPECULAR?mat_specular);
???glMater
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-10-14?22:14??01_ba
?????文件????30801920??2014-10-14?22:14??01_ba
?????文件?????????885??2014-10-11?20:51??01_ba
?????文件????????8704??2006-08-21?05:58??01_ba
?????文件???????23552??2014-10-14?22:14??01_ba
?????文件????????3393??2006-08-03?02:59??01_ba
?????文件????????4599??2014-10-14?18:56??01_ba
?????文件?????????920??2014-10-11?20:51??01_ba
?????目錄???????????0??2014-10-11?20:50??01_ba
?????文件?????????913??2006-08-21?05:57??01_ba
?????文件????????8704??2006-08-21?05:58??01_ba
?????文件???????18239??2014-10-14?22:02??01_ba
?????目錄???????????0??2014-10-14?21:11??01_ba
?????文件??????524800??2014-10-14?21:11??01_ba
?????文件?????1486104??2014-10-14?21:11??01_ba
?????文件??????????57??2014-10-14?21:11??01_ba
?????文件????????1182??2014-10-14?21:11??01_ba
?????文件?????2493440??2014-10-14?21:11??01_ba
?????文件???????65227??2014-10-14?21:11??01_ba
?????文件?????????514??2014-10-14?21:11??01_ba
?????文件???????16490??2014-10-14?21:11??01_ba
?????文件?????????234??2014-10-14?21:11??01_ba
?????文件??????192512??2006-03-04?03:19??01_ba
?????文件??????121856??2004-08-04?08:52??01_ba
?????文件??????169984??1998-08-18?23:25??01_ba
?????文件???????????2??2014-10-14?21:11??01_ba
?????文件???????????2??2014-10-14?21:11??01_ba
?????文件???????????2??2014-10-14?21:11??01_ba
?????文件???????????2??2014-10-14?21:11??01_ba
?????文件???????????2??2014-10-14?21:11??01_ba
?????文件???????????2??2014-10-14?21:11??01_ba
............此處省略69個文件信息
評論
共有 條評論