遊戲製作詳解自----OpenGL入門教程(五)(轉)
遊戲製作詳解自----OpenGL入門教程(五)(轉)[@more@] 如果用過3DS/LIGHTWAVE等任何一種三維圖形軟體包,就可以發現製作一個三維場景無非以下幾項工作: 建模:製作各種物體。 放置:將做好的各物體透過平移、旋轉等放到場景空間的適當位置。 上色:給物體模型指定顏色或表面紋理。 打燈:在場景中適當位置放置幾盞燈以照亮場景。 攝像:在空間適當位置放上適當角度的攝像機,以得到所需的視覺效果。 用OpenGL開發應用程式與之類似,通常是: 設定視見體 定義光源 生成場景 而三維圖形生成的流程如下: 放置幾何變換:平移、旋轉、縮放等 視見變換:裁剪、消隱、投影等 視見體設定: 視見體有兩種:正投影體和透視投影體,正投影視見體中的物體在螢幕上的投影不會出現近大遠小的現象,而透視投影視體則與人眼的觀察結果類似,離觀察點越遠的物體在螢幕上的投影越小,因此透視投影體中的觀察結果看起來更真實一些。 定義透視投影體的方法是: glFrustum(left,right,bottom,top,near,far); //物體在這六個引數界定的範圍內可見,超出邊界將被裁掉。 //left,bottom,代表左下 right,top代表右上 定義透視投影體的方法是: glOrtho(left,right,bottom,top,near,far); //物體在這六個引數界定的範圍內可見,超出邊界將被裁掉。 綜上所述,一個三維圖形應用程式在建好OpenGL Pipleline之後就要向管道發如下一系列的命令,以建立一個三維觀察環境: //1、設定視見體,在窗體的Resize事件時 void __fastcall TForm1::FormResize(TObject *Sender) { glViewport(0, 0, Width, Height); //使用Form窗體的指定區域為顯示區 //如改為Width/4,Height/4,Width/2,Width/2, //則只用Form1的-窗體的中間1/4進行顯示 glMatrixMode(GL_PROJECTION); //切換到投影矩陣棧 glLoadIdentity(); //清除投影矩陣 glFrustum(1.0,-1.0,-1.0,1.0,1.0,-1.0); //指定透視視見體範圍 //超出部分將被裁去 //或正投影glOrtho(1.0,-1.0,-1.0,1.0,1.0,-1.0); glMatrixMode(GL_MODELVIEW); //切換到模型視見矩陣棧 glLoadIdentity(); //清除視見矩陣 } 說明:視見環境的設定還有許多其它的細節,以後會逐步介紹
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951749/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- unity入門—五分鐘製作一個理論上的遊戲Unity遊戲
- OpenGL 模型載入詳解模型
- RPG 製作大師:古老的遊戲開發入門工具遊戲開發
- 製作遊戲載入進度條遊戲
- OpenGL系列教程之一:OpenGL(轉)
- 埠轉發工具Rinetd詳細入門教程
- OpenGL ES 入門
- 詳解前端HTTP協議入門教程前端HTTP協議
- Next.js 入門超詳解教程JS
- 新手入門,webpack入門詳細教程Web
- three.js 製作邏輯轉體遊戲(上)JS遊戲
- three.js 製作邏輯轉體遊戲(下)JS遊戲
- OpenGL入門第一課--名稱解釋
- [轉]GitFlow詳解教程Git
- 小遊戲的製作遊戲
- yarn詳細入門教程Yarn
- 遊戲優化系列二:Android Studio製作圖示教程遊戲優化Android
- OpenGL入門(1)——建立一個OpenGL專案
- 微信吸粉小遊戲怎麼製作?中秋節微信公眾號吸粉小遊戲製作教程遊戲
- gitbook 入門教程之常用命令詳解Git
- OpenGL 紋理詳解
- Node入門教程(7)第五章:node 模組化(下) npm與yarn詳解NPMYarn
- 製作遊戲的遊戲:創作樂趣的樂趣遊戲
- OpenGL/OpenGL ES入門:紋理初探 - 常用API解析API
- 「Photoshop2021入門教程」建立用於製作名片的畫板
- 使用Unity製作遊戲AIUnity遊戲AI
- Argo CD 詳細入門教程Go
- 遊戲外掛教程(轉)遊戲
- 轉:區塊鏈入門教程區塊鏈
- [轉]Systemd 入門教程:命令篇
- 詳解HDFS入門
- OpenGL 基礎光照詳解
- OpenGL Android課程一:入門Android
- opengl簡單入門例項
- OpenGL入門第4課--深度
- 遊戲雜談:大製作遊戲和小製作遊戲,在開發思路方式上的差別遊戲
- Jmeter(二十七) - 從入門到精通 - Jmeter Http協議錄製指令碼(詳解教程)JMeterHTTP協議指令碼
- Python開發的入門教程(五)-setPython
- Jmeter(八) - 從入門到精通 - JMeter配置元件(詳解教程)JMeter元件