freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于opengl的屏幕對(duì)象拾取_本科畢業(yè)論文-免費(fèi)閱讀

2025-08-10 14:24 上一頁面

下一頁面
  

【正文】 前面分析了各種算法,可以得出基于 GPU 的重繪式拾取技術(shù)具有明顯的優(yōu)勢(shì),是一種不錯(cuò)的拾取技術(shù)。1e。 width 和 height 定義選取區(qū)域大小,用屏幕坐標(biāo)。即,通常在拾取的時(shí)候確定哪個(gè)物體被畫在光標(biāo)附近了。 void glLoadName(GLuint name)。 void glInitNames(void)。 drawAnotherObject()。然后當(dāng)發(fā)布相應(yīng)的繪制命令時(shí)向其中加入整數(shù)名字。在多邊形的情況下,如 果它已經(jīng)被消隱掉的話不會(huì)有命中記錄出現(xiàn)。返回值是當(dāng)前退出當(dāng)前模式時(shí),選擇命中數(shù)或放在反饋數(shù)組中的值的個(gè)數(shù)。 void glSelectBuffer(GLsizei size,GLuint *buffer);指定用于返回選擇數(shù)據(jù)的數(shù)組。每個(gè)被視見體圖元引出一資選擇命中 (hit)。 依賴于硬件,與 GPU 的性能息息相關(guān) 18 4 系統(tǒng)的 設(shè)計(jì) 及實(shí)現(xiàn) 有些圖形應(yīng)用程序只繪制兩維和三維物體構(gòu)成的靜態(tài)圖形,另一些允許用戶識(shí)別屏幕上的物體并移動(dòng)、修改、刪除或用其它方法操縱這些物體。從而使整個(gè)處理過程耗時(shí)巨大,且如此復(fù)雜的算法也會(huì)給整個(gè)系統(tǒng)的實(shí)現(xiàn)帶來一定難度。每個(gè)被視見體圖元引出一資選擇命中 (hit)。主要如下: VSResult Vs_main{ float3 pos:POSITION } { VSResult ret。 圖 8 說 明了上述整 個(gè) 流程。第 2 次繪 圖為實(shí)際繪圖,所繪圖形為系統(tǒng)使用者看到的真實(shí)圖形 。 如圖 6 所示 圖 6 測(cè)試窗口 ②重繪圖形對(duì)象。具體做法是將實(shí)體的每一個(gè)頂點(diǎn)向 AB 投影 , 并求出投影點(diǎn)在線段 AB 上的參數(shù)坐標(biāo)。如果 AB 的某個(gè)分量為零,則比值取 1。 如果射線 m 垂直于視線 , 則射線 m 和投影空間不相交; (4)依次取出場(chǎng)景實(shí)體列表中的每個(gè)實(shí)體 ,獲取該實(shí)體的轉(zhuǎn)換矩陣 , 并利用該矩陣將 A、 B 點(diǎn) 的坐標(biāo)轉(zhuǎn)換為局 部坐標(biāo); (5)計(jì)算實(shí)體的包圍盒 , 并判斷 AB 和包圍盒的相對(duì)位置。具體實(shí)現(xiàn)代碼如下: HDC m hDC; HGLRC nl hglRC: m_hglRC=wglCreateContext(m_hDC);創(chuàng)建一個(gè)渲染場(chǎng)境 wglMakecurrent(m_hDC, m hglRC);使成為當(dāng)前調(diào)用線程的渲染場(chǎng)境 第四步:添加消息處理函數(shù)。實(shí)現(xiàn)代碼如下 : cs. style l=WS_CLIPCHILDREN WS CLIPSIBLINGS; 第二步:設(shè)置像素格式。視窗口通過文檔對(duì)象來訪問和更新數(shù)據(jù)。主框架窗口包含了視窗口、工具條和狀態(tài)欄。這些對(duì)象包括以下種類:窗口對(duì)象,基類是 CWnd;應(yīng)用程序?qū)ο?,基類?CwinThread;文檔對(duì)象,基類是 Cdocument,等等。 繼承 首先, MFC 抽象出 眾多類的共同特性,設(shè)計(jì)出一些基類作為實(shí)現(xiàn)其他類的基礎(chǔ)。 Borland 最終用 Visual Component Library 來作為 OWL 的后繼者。 光柵化操作 這個(gè)階段的輸入為像素位置和片元的深度、顏色值等信息,經(jīng)過一系列的測(cè)試(剪切測(cè)試、 Alpha測(cè)試、模板測(cè)試和深度測(cè)試)后形成像素的顏色。圖 1顯示了 OpenGL 工作流程圖順序,雖然并沒有嚴(yán)格規(guī)定 OpenGL 必須采用這樣的實(shí)現(xiàn),但它卻提供了一個(gè)可靠的指南方向,可以預(yù)測(cè) OpenGL 將以什么樣的順序來執(zhí)行這些操作。當(dāng)緩沖區(qū)被刷新時(shí),命令和數(shù)據(jù)就被傳遞給管線的下一個(gè)階段。 20xx 年 8 月, 版本發(fā)布 OpenGL 標(biāo)準(zhǔn)的主要制訂者并非原來的 SGI,而是逐漸在ARB 中占據(jù)主動(dòng)地位的 3Dlabs。 1992 年 7 月, SGI 公司發(fā)布了 OpenGL 的 版本,隨后又與微軟公司共同開發(fā)了 Windows NT版本的 OpenGL,從而使一些原來必須在高檔圖形工作站上運(yùn)行的大型 3D 圖形處理軟件也可以在微機(jī)上運(yùn)用。為了實(shí)現(xiàn)這個(gè)目標(biāo), OpenGL 并未包含用于執(zhí)行窗口任務(wù)或者獲取用戶輸入之類的函數(shù)。 1997年, Masaaki. Oka,Kyoya Tsutsui,Akio Ohba 等人第一次采用了基于 GPU 的重繪式拾取技術(shù)在房子中拾取到了房子主人與小孩子 [6]; 20xx 年, 劉力強(qiáng),周明全 等多人采用基于 GPU 的重繪式拾取技術(shù) ,在大規(guī)模室外地形中拾取到了地面某個(gè)區(qū)域 [7]。快速可靠的拾取被廣泛地運(yùn)用于各種系統(tǒng)中,如實(shí)時(shí)圖形系統(tǒng)、虛擬現(xiàn)實(shí)、游戲和 CAD系統(tǒng)等方 面, 拾取操作己成為這些系統(tǒng)的重要部分 ,它在計(jì)算機(jī)建模軟件尤其重要,能夠通過拾取操作對(duì)模型進(jìn)行局部修改和編輯,提高建模系統(tǒng)的靈活性和適用性 。 關(guān) 鍵 詞 : OpenGL; 計(jì)算機(jī)應(yīng)用 ; 拾取算法 2 Abstract In most cases, one important feature of graphics processing system is picking, which allow users to select objects by mouse, and to modify the their attributes, such as gemetry mesh or angle and so on. In order to solve the problem, pick OpenGL provides a name on the stack and hit record choice mechanism. In the OpenGL and pickobject is using the loot matrix and projection transformation, and will gather in the limits of the mouse, effective once entered the mouse event trigger mode choice and will be effective area, finally using initialization gleaned matrix pick objects in the area of effective. The definition of effective glPick2Matix () function to finish. Once pick success, to return to pick the record object relevant information, and to create a record, says an object to be hit. This object pick method is very simple, need not write many code. In the use of graphics processing system development OpenGL toolkit objects, pick a variety of methods, including OpenGL provide choice mechanism, ray pick, redrawn type gather method, etc. Based on the mechanism of OpenGL itself to provide choice pickup, outstanding OpenGL toolkit objects in the screen in the object. Key words: OpenGL。有時(shí)還需要獲取物體上點(diǎn)的空 間坐標(biāo)或測(cè)量物體的幾何特性如距離、角度、半徑等,這些操作都需要以拾取作為實(shí)現(xiàn)的基礎(chǔ)。 作者簽名: 日期: 畢業(yè)論文(設(shè)計(jì))授權(quán)使用說明 本論文(設(shè)計(jì))作者完全了解 **學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計(jì))的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計(jì))并向相關(guān)部門送交論文(設(shè)計(jì))的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計(jì))用于非贏利目的的少量復(fù)制并允許論文(設(shè)計(jì))進(jìn)入學(xué)校圖書館被查閱。 OpenGL 為了解決拾取問題,提供了一種基于名字堆棧和命中記錄的選擇機(jī)制。 puter application。隨著計(jì)算機(jī)軟硬件的快速發(fā)展,人們對(duì)實(shí)時(shí)系統(tǒng)的交互的實(shí)時(shí)性要求也越發(fā)苛刻 ,而且三維場(chǎng)景復(fù)雜度也日益提高,這就要求系統(tǒng)提供快速的拾取操作 。第三種是 OpenGL 自帶的拾取機(jī)制, 1992 年 7 月, SGI 公司發(fā)布了OpenGL 的 版本,隨后又與微軟公司共同開發(fā)了 Windows NT 版本的 OpenGL,從而使一些原來必須在高檔圖形工作站上運(yùn)行的大型 3D 圖形處理軟件也可以在微機(jī)上運(yùn)用 。反之,必須通過窗口系統(tǒng)控制所使用的特定硬件。 1995 年 OpenGL 的 版本面市,該版本較 性能 提高許多,并加入了一些新的功能。 20xx 年 8 月初 Khronos 工作組在 Siggraph 20xx 大會(huì)上宣布 了 OpenGL 圖形接口規(guī)范, shader 語言和其他新增功能將再次未來開放 3D 接口發(fā)展指明方向。通常,頂點(diǎn)數(shù)據(jù)首先進(jìn)行轉(zhuǎn)換和光 照。 圖 1 Opengl 工作渲染流程圖 OpenGL 渲染管線的操作過程主要包括以下幾部分: 1)頂點(diǎn)變換 2)圖元組裝 3)圖元處理 4)片元處理 5)光柵化操作 頂點(diǎn)變換 這個(gè)階段主要是對(duì)輸入的頂點(diǎn)進(jìn)行逐個(gè)處理 ,這些頂點(diǎn)都包括很多屬性(如位置、顏色、法線和紋理坐標(biāo)等),經(jīng)過處理后,輸出是經(jīng)過變換后的頂點(diǎn)屬性及關(guān)聯(lián)信息。 主要過程:剪切測(cè)試、 Alpha 測(cè)試、模板測(cè)試和深度測(cè)試、寫入幀緩存 。 隨著 Visual Basic和 Visual Studio .NET 的發(fā)布,曾經(jīng)一度被微軟重點(diǎn)推薦的 MFC被 Visual Basic、 C、 Windows Forms 搶走了不少市場(chǎng)份額,但是 MFC 繼續(xù)在非托管軟件開發(fā)中占據(jù)重要地位。這些類中 , 最重要的類是 CObject 和 CCmdTarget。 虛擬函數(shù)和動(dòng)態(tài)約束 MFC 以“ C++”為基礎(chǔ),自然支持虛擬函數(shù)和動(dòng)態(tài)約束。對(duì)這些 9 類或者對(duì)象解釋如下 : ( 1)應(yīng)用程序 ( CWinApp) 應(yīng)用程序類派生于 CWinApp。 ( 5)視 (CView) 視類從 CView 或 它的派生類派生。 首先需要在視圖類 CGLView 中添加一個(gè)成員函數(shù),函數(shù)原型如下: BOOL CGLView::SetupPixelFormat(CDC*pDC);設(shè)置像素格式并向視圖類 CGLView 中添加兩個(gè)成員變量: CDC* m_pDC; OpenGL 設(shè)備場(chǎng)境 HGLRC m_hRC; OpenGL 渲染場(chǎng)境在 Windows 中,使用結(jié)構(gòu) PIXELFO 腿ATDEscRIPTOR 來設(shè)置像素格式,并提供 ChoosePixelFormat()函數(shù)來選擇最為匹配的像素格式以及SetPixelFormat()函數(shù)來為設(shè)備場(chǎng)境設(shè)置像素格式。 利用 MFC ClassWizard 為 CGLView 類添加消息:帳 _CREATE、 wM_DESTROY、 m,t_SIZE 和刪 _TIMER 的響應(yīng)函數(shù),消息處理函數(shù)名依次為: OnCreate()、 onDestroy()、 OnSize()和 OnTimer()。如果 AB 和包圍盒相交 , 則求該實(shí)體和 AB交點(diǎn)的參數(shù)值 , 并將該實(shí)體標(biāo)記為選中對(duì)象。取 t t t3 中的最大值為 tmax,如果 tmax0 或 tmax1,則 AB 和包圍盒不相交 ,判斷結(jié)束; (3)根據(jù) tmax 值求出交點(diǎn)坐標(biāo),判斷交點(diǎn)是否在包圍盒上。在 0 到 1 的范圍內(nèi) , 參數(shù)坐標(biāo)的值越小 , 說明該點(diǎn)離視點(diǎn)越近。如果圖元進(jìn)入拾取 范圍 ,則必然在“測(cè)試區(qū)”中留下軌跡 , 重繪圖形對(duì)象的目的是為了恢復(fù)可能被“測(cè)試窗口”遮蔽的圖形對(duì)象。 在 GPU 上實(shí)現(xiàn)三維圖元拾取的方法有兩種,第一種方法與場(chǎng)景幾何無關(guān),第二種方法是場(chǎng)景幾 何依賴。 圖 8 GPU 拾取流程 下面定義 Vertex Shader 的輸出內(nèi)容,定義了一個(gè)包括坐標(biāo)和顏色的結(jié)構(gòu) (struct)。 =float4(pos,)。確切的說,圖元清單是作為一個(gè)取整數(shù)值的名字 (integervalued names)數(shù)組和相關(guān)的數(shù)據(jù)-命中記錄 (hit record)-對(duì)應(yīng)名字棧 (name stack)的當(dāng)前內(nèi)容。 在 OpenGL 繪圖模式下 ,通過 2( 1) 沒有采用OpenGL 選擇機(jī)制。 OpenGL 正是設(shè)計(jì)用于支持這 些交互式應(yīng)用程序的。確切的說,圖元清單是作為一個(gè)取整數(shù)值的名字 (integervalued names)數(shù)組和相關(guān)的數(shù)據(jù)-命中記錄 (hit record)-對(duì)應(yīng)名字棧 (name stack)的當(dāng)前內(nèi)容。 參數(shù) buffer 是指向無符號(hào)整數(shù) (unsigned integer)數(shù)組的指針,數(shù)據(jù)就存在這個(gè)數(shù)組中, size 參數(shù)說明數(shù)組中最多能夠保存的值的個(gè)數(shù)。負(fù)值意味著選擇或反饋數(shù)組溢出(overflowed)。 每個(gè)命中記錄由四項(xiàng)組
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1