OpenGL的glViewport()函式和glOrtho()函式用法 - 程式人生

文章推薦指數: 80 %
投票人數:10人

glOrtho是建立一個正交平行的視景體。

一般用於物體不會因為離螢幕的遠近而產生大小的變換的情況。

比如,常用的工程中的製圖等。

需要比較精確的顯示。

程式人生>>OpenGL的glViewport()函式和glOrtho()函式用法 OpenGL的glViewport()函式和glOrtho()函式用法 阿新••發佈:2019-02-18 glViewport()函式 在OpenGL初始化完成之後,我們應該進行一些檢視設定。

首先是設定視見區域,即告訴OpenGL應把渲染之後的圖形繪製在窗體的哪個部位。

當視見區域是整個窗體時,OpenGL將把渲染結果繪製到整個視窗。

我們呼叫glViewPort函式來決定視見區域:    procedureglViewPort(x:GLInt;y:GLInt;Width:GLSizei;Height:GLSizei);    其中,引數X,Y指定了視見區域的左下角在視窗中的位置,一般情況下為(0,0),Width和Height指定了視見區域的寬度和高度。

注意OpenGL使用的視窗座標和WindowsGDI使用的視窗座標是不一樣的。

圖3.1-1表示了在WindowsGDI中的視窗座標,而圖3.1-2則是OpenGL所定義的視窗座標。

例如,要設定如圖3.1-3中的視見區域,我們應該呼叫函式:      glViewPort(100,100,Width,Height);  glOrtho是建立一個正交平行的視景體。

一般用於物體不會因為離螢幕的遠近而產生大小的變換的情況。

比如,常用的工程中的製圖等。

需要比較精確的顯示。

而作為它的對立情況,glFrustum則產生一個透視投影。

這是一種模擬真實生活中,人們視野觀測物體的真實情況。

例如:觀察兩條平行的火車到,在過了很遠之後,這兩條鐵軌是會相交於一處的。

還有,離眼睛近的物體看起來大一些,遠的物體看起來小一些。

glOrtho(left,right,bottom,top,near,far),left表示視景體左面的座標,right表示右面的座標,bottom表示下面的,top表示上面的。

這個函式簡單理解起來,就是一個物體擺在那裡,你怎麼去擷取他。

這裡,我們先拋開glViewport函式不看。

先單獨理解glOrtho的功能。

假設有一個球體,半徑為1,圓心在(0,0,0),那麼,我們設定glOrtho(-1.5,1.5,-1.5,1.5,-10,10);就表示用一個寬高都是3的框框把這個球體整個都裝了進來。

  如果設定glOrtho(0.0,1.5,-1.5,1.5,-10,10);就表示用一個寬是1.5,高是3的框框把整個球體的右面裝進來;如果設定glOrtho(0.0,1.5,0.0,1.5,-10,10);就表示用一個寬和高都是1.5的框框把球體的右上角裝了進來。

上述三種情況可以見圖: 沉默王二(不止會寫程式的全棧工程師;還會寫有趣的文字,給不喜歡嚴肅的你。

) «上一篇 Ubuntu16.04+ROS安裝hokuyo驅動下一篇» 相關推薦 gluPerspective函式和glOrtho函式的具體用法 我查了好多資料 按照書上的程式碼寫的確實可以顯示 自己去寫程式碼就經常看不到畫的圖形了還是搞不清楚glupetspective... OpenGL的glViewport()函式和glOrtho()函式用法 glViewport()函式 在OpenGL初始化完成之後,我們應該進行一些檢視設定。

首先是設定視見區域,即告訴Open... C++友元函式和友元類用法詳解 在C++中,我們使用類對資料進行了隱藏和封裝,類的資料成員一般都定義為私有成員,成員函式一般都定義為公有的,以此提供類與外界... Python3join函式和os.path.join用法 Python3 join函式和os.path.join用法 os.path.join()連線兩個檔名地址的時候,就比os.path.join("D... Python中join函數和os.path.join用法 post()參數說明pythonclasslogjoin絕對路徑返回Python中有join和os.pat... 通往t-sql的階梯:超越基本級別6:使用CASE表達式和IIF函數 簡化只有一個multi基本腳本需要mosnamedend摘要:此文章轉自: http://www.sqls... 樓梯T-SQL:超越基礎6級:使用CASE表達式和IIF函數 sim等號sql語句arc要求sql代碼--express但是從他的樓梯到T-SQLDML,Grego... Js利用正則表達式和replace函數獲取string中所有被匹配到的文本 利用str正則表達mat則表達式ole括號替換字符串js的replace函數除了替換文本以外還有獲取所有被... js當中的建構函式和它的運用 首先是定義js當中的建構函式,記住,定義建構函式時建構函式都以大寫開頭。

將函式引數儲存為物件的屬性。

functionPoint(x,y)... 使用gethostname()函式和gethostbyname()函式獲取主機相關資訊 gethostname():返回本地主機的標準主機名 原型如下: #include intgethostn... 搜尋 基礎教學 Mysql入門 Sql入門 Android入門 Docker入門 Go語言入門 Ruby程式入門 Python入門 Python進階 Django入門 Python爬蟲入門 最近訪問 OpenGL的glViewport()函式和glOrtho()函式用法 1005:Number+Sequence(hdu,數學規律題) python函式練習題 js+兩個小括號+()()+的用法 BZOJ+2535:+[Noi2010]Plane+航空管制2 python之地基(一) 基於arduino的74HC595模組的原理與使用 Interpreter(直譯器)與complier(編譯器)的區別 常數必須是編譯時常量! ASP.NET+Core獲取請求完整的Url



請為這篇文章評分?