在上一課中,我們學習了如何給三角形和正方形著色。在這一課中,我們將學習如何沿一條座標軸旋轉這些著色物體。使用上節課的**,我們將在其中新增一些新的**。我將重寫下面這部分**,以便於你知道哪些是新新增的**,哪些是應該替換的**。
我們從新新增的兩個變數開始,它們是用來記錄每個物體的旋轉角度的。在程式的最上面,其它的全域性變數下面新增這兩個變數。 'bool fullscreen=true;'語句下面將有兩行新新增的**。我們定義了兩個浮點型的變數,它們能精確地控制物體的旋轉。浮點型變數可以使用小數。意味著我們不會被限制於只能使用1,2,3來表示角度,我們可以使用在1.1, 1.7, 2.3,甚至 1.015來表示更精確的角度值。你會發現浮點型變數在opengl程式設計中非常重要。rtri變數用來控制三角形的旋轉,rquad變數用來控制正方形的旋轉。
#include // windows標頭檔案
#include // opengl32庫標頭檔案
#include // glu32庫標頭檔案
#include // glaux庫標頭檔案
hglrc hrc=null;
// 永久的渲染上下文( rendering context)
hdc
hdc=null;
// 私有的gdi裝置上下文( gdi device context)
hwnd
hwnd=null;
// 獲得我們視窗的控制代碼
hinstance
hinstance;
// 獲得應用程式的例項
bool
keys[256];
// 用於鍵盤行為的陣列
bool
active=true;
// 窗**動標記,預設設定為true
bool
fullscreen=true;
// 全屏標記,預設設定為全屏
glfloat rtri;
// 三角形的旋轉角度 ( 新加** )
glfloat rquad;
// 正方形的旋轉角度 (新加**
)
現在我們需要修改drawglscene() 函式的**。我將重寫整個函式。以便於你能知道,和以前的**相比,**做了修改。我將會解釋為什麼有些**需要改變,以及新新增的**的用途。下面這部分**和上節課的完全一樣。
int drawglscene(glvoid)
//我們繪製圖形的地方
最後,修改一下切換視窗\全屏模式部分的**,以便於視窗有乙個合適的標題。
if
(keys[vk_f1])
//如果f1被按下
}
NeHe OpenGL第四課 旋轉
nehe opengl第四課 旋轉 旋 在這一課裡,我將教會你如何旋轉三角形和四邊形。左圖中的三角形沿y軸旋轉,四邊形沿著x軸旋轉。上一課中我教給您三角形和四邊形的著色。這一課我將教您如何將這些彩色物件繞著座標軸旋轉。其實只需在上節課的 上增加幾行就可以了。下面我將整個例程重寫一遍。方便您知道增加了...
Android OpenGL教程 第四課
android opengl 教程 第四課旋 在這一課裡,我將教會你如何旋轉三角形和四邊形。左圖中的三角形沿y軸旋轉,四邊形沿著x軸旋轉。我們增加兩個變數來控制這兩個物件的旋轉。這兩個變數加在程式的開始處其他變數的後面。它們是浮點型別的變數,使得我們能夠非常精確地旋轉物件。浮點數包含小數字置,這意味...
CMake教程 安裝(第四課)
cmake教程版本號 3.16.3 github示例 現在我們可以為專案新增安裝規則和測試支援了 庫的安裝,我們需要安裝庫和標頭檔案 程式的安裝,我們需要安裝可執行程式和配置標頭檔案 對應的cmakefile.txt如下 庫的安裝 install targets sayhello destinati...