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

正文內(nèi)容

基于opengl的屏幕對(duì)象拾取本科畢業(yè)論文-資料下載頁

2025-06-22 01:42本頁面
  

【正文】 最底元素最前。進(jìn)入選擇模式時(shí),OpenGL 初始化一個(gè)指針指向選擇數(shù)組的起點(diǎn)。每寫入一個(gè)命中記錄,指針相應(yīng)更新。如果寫入一個(gè)命中記錄會(huì)使數(shù)組中值的個(gè)數(shù)超過 glSelectBuffer()的 size 參數(shù)時(shí),OpenGL 會(huì)寫入盡可能多的記錄并設(shè)置一個(gè)溢出標(biāo)志。當(dāng)用 glRenderMode()退出選擇模式時(shí),這條命令返回被寫入的記錄的個(gè)數(shù)(包括一條部分記錄如果有的話) ,清除名字棧,復(fù)位溢出標(biāo)識(shí),重置棧指針。如設(shè)定溢了出標(biāo)識(shí)則返回值是1。用 glInitName()和 glPushName()初始化名字棧名字棧是返回給你的選擇信息的基礎(chǔ),要建立名字棧,首先用 glInitNames()初始化它,這將簡單地清空棧。然后當(dāng)發(fā)布相應(yīng)的繪制命令時(shí)向其中加入整數(shù)名字。??刂泼钤试S你壓入名字(glPushName()) ,彈出名字(glPopName()) ,替換棧頂?shù)拿郑╣lLoadName()) 。舉個(gè)例子:Example 121: Creating a Name StackglInitNames()。glPushName(1)。glPushMatrix()。 /*保存當(dāng)前的轉(zhuǎn)型的狀態(tài)*/glLoadName(1)。drawSomeObject()。glLoadName(2)。drawAnotherObject()。glLoadName(3)。 drawYetAnotherObject()。drawJustOneMoreObject()。glPopMatrix ()。 /*恢復(fù)以前的轉(zhuǎn)型的狀態(tài)*/在這個(gè)例子中,前兩個(gè)被繪制的物體有自己的名字,第三和第四個(gè)共用一個(gè)名字。這樣,如果第三或第四個(gè)物體中的一個(gè)或全部引起一個(gè)選擇命中,只有一個(gè)命中記錄返回給你。如果處理命中記錄時(shí)不想?yún)^(qū)分各個(gè)物體的話,可以讓多個(gè)物體共享一個(gè)名字。void glInitNames(void)。清空名字棧。void glPushName(GLuint name)。 將 name 壓入名字棧壓入名字超過棧容量時(shí)將生成一個(gè) GL_STACK_OVERFLOW 錯(cuò)誤。名字棧深度因 OpenGL 實(shí)現(xiàn)(implementations)不同而不同,但最少要能容納 64 個(gè)名字??梢杂脜?shù) GL_NAME_STACK_DEPTH 調(diào)用 glGetIntegerv()以獲取名字棧深度。void glPopName(void)。彈出名字棧棧頂?shù)哪且粋€(gè)名字20從空棧中彈出名字引發(fā) GL_STACK_UNDERFLOW 錯(cuò)誤。void glLoadName(GLuint name)。用 name 取代名字棧棧頂?shù)哪莻€(gè)名字。如果棧是空的,剛調(diào)用過 glInitName()后就是這樣,glLoadName()生成一個(gè) GL_INVALID_OPRATION 錯(cuò)。為避免這種情況,如果棧初始時(shí)是空的,那么在調(diào)用 glLoadName()之前至少調(diào)用一次 glPushName()以在名字棧中放上點(diǎn)東西。交替發(fā)布圖元繪制命令和名字??刂泼睿@樣每個(gè)感興趣的圖元都會(huì)被指定適當(dāng)?shù)拿?;退出選擇模式并處理返回的選擇數(shù)據(jù)(命中記錄) 。用選擇模式確定物體是否被拾取了,要做到這一點(diǎn),用一個(gè)與投影矩陣相關(guān)聯(lián)的拾取矩陣將繪制限制在視口的一個(gè)很小的區(qū)域里,通常是在光標(biāo)附近。然后允許某種形式的輸入,如點(diǎn)擊鼠標(biāo)的一個(gè)鍵,引發(fā)選擇模式的初始化。建立起選擇模式并使用特定的拾取矩陣,繪制在光標(biāo)附近的物體引發(fā)選擇命中。即,通常在拾取的時(shí)候確定哪個(gè)物體被畫在光標(biāo)附近了。拾取的建立幾乎與正規(guī)的選擇模式完全一樣,只有以下的主要區(qū)別:拾取通常由某個(gè)輸入設(shè)備觸發(fā)。在下面的例子中,按鼠標(biāo)左鍵運(yùn)行實(shí)現(xiàn)拾取的函數(shù)。用例程 gluPickMatrix()將一個(gè)特殊的投影矩陣乘到當(dāng)前矩陣上。它要在把投影矩陣乘到棧上之前調(diào)用。void gluPickMatrix(GLdouble x,Gldouble y,GLdouble width,GLdouble height,GLint viewport[4])。建立一個(gè)投影矩陣用于將繪制限制在視口的一個(gè)小區(qū)域里,并將這個(gè)矩陣乘到當(dāng)前矩陣棧上。拾取區(qū)域的中心是窗口坐標(biāo)(x,y)處,通常是光標(biāo)位置。width 和 height 定義選取區(qū)域大小,用屏幕坐標(biāo)。Viewport{}表明當(dāng)前視口邊界,這可以用調(diào)用 glGetIntegerv(GL_VIEWPORT,GLint *viewport);獲得。gluPickMatrix()建立的矩陣的凈結(jié)果( result)是將裁剪區(qū)域變換到單位立方體1amp。1e。(x,y,z)amp。1e;1(或wamp。1e。(wx,wy,wz)amp。1e。w) 。拾取矩陣實(shí)際上提供了一個(gè)正交變換將這個(gè)單位立方體的一個(gè)子區(qū)域映射到單位立方體。因?yàn)樽儞Q是任意的,所以可以讓拾取為不同類型的領(lǐng)域工作-如,用于旋轉(zhuǎn)窗口的矩形區(qū)域。在某些情況下,會(huì)發(fā)覺用附加的裁剪平面定義拾取區(qū)域要容易些。21圖 9 拾取流程圖 拾取結(jié)果截圖 本系統(tǒng)中,未啟用拾取狀態(tài)的物體渲染如圖 10 與圖 11 所示,系統(tǒng)中使用物體空間的旋轉(zhuǎn)矩陣變換各個(gè)物體,因此每個(gè)物體在其局部坐標(biāo)系中旋轉(zhuǎn)。22圖 10 對(duì)象拾取前狀態(tài)圖 11 對(duì)象拾取前狀態(tài)用戶可通過鼠標(biāo)對(duì)物體進(jìn)行拾取,鼠標(biāo)左鍵點(diǎn)擊待拾取的物體,物體被拾取時(shí)的效果如下:23圖 12 第一只對(duì)象被拾取效果圖 13 第二只對(duì)象被拾取效果24圖 14 第三只對(duì)象被拾取效255 結(jié)論與展望 結(jié)論本文分析了基于 CPU 的射線求交拾取技術(shù)、基于 GPU 的重繪式拾取技術(shù)、OpenGL 的選擇機(jī)制技術(shù)三種拾取的實(shí)現(xiàn)原理和優(yōu)缺點(diǎn),本文考慮到只是簡單地拾取三個(gè)不同的物體,分別是一個(gè)一個(gè)拾取,而不是同時(shí)拾取的過程且拾取物體是簡單的選擇體的原因,采用了 OpenGL 本身自帶的選擇機(jī)制拾取實(shí)現(xiàn)了簡單的三個(gè)不同物體拾取,實(shí)驗(yàn)表明本文的方法是有效的。 展望現(xiàn)今越來越多的 3D 網(wǎng)游游戲出爐,對(duì)電腦的配置要求也越來越高,對(duì)最基本的對(duì)象拾取也越來越嚴(yán)格,而拾取的關(guān)鍵是用什么拾取算法。前面分析了各種算法,可以得出基于 GPU 的重繪式拾取技術(shù)具有明顯的優(yōu)勢,是一種不錯(cuò)的拾取技術(shù)。今后也將繼續(xù)考慮如何可以使重繪式拾取技術(shù)脫離 GPU 也可以實(shí)現(xiàn)拾取,甚至實(shí)現(xiàn)更快、更簡單地拾取,讓程序員操作起來更快,更方便,讓游戲玩家玩游戲起來更流暢,拾取各種物品或人物更快。26參考文獻(xiàn)[1]Mark Segul,Carl Korobkin,Rolf van Widenfelt 等.Fast Shadows and LiightingEffects using Texture Mapping.Computer Graphics.1992,July,249252.[2]Michael Deering,Step hanie Winner and Bic Schediwy 等.The TriangleProcessor and Normal Vectore Shader.Computer Graphics.1998,8,2130.[3]龔堰玨,顏敏. 面向?qū)ο蟮慕换ワ@示和拾取模型研究[J]. 系統(tǒng)仿真學(xué)報(bào),2022. [4]韋宇煒.基于 OpenGL 技術(shù)的三維游戲引擎開發(fā). 廣東工業(yè)大學(xué),2022.[5]姚繼權(quán), 工程設(shè)計(jì)學(xué)報(bào) [6]Masaaki.Oka,Kyoya Tsutsui,Akio Ohba 等.RealThne Manipulation ofTextureMapped Surfaces.Computer Graphicsa 1997,7.[7]劉力強(qiáng),周明全. 一種平行透視下的三維拾取方法[J]. 西南大學(xué)學(xué)報(bào),2022.[8]OpenGL Specification. [9]Donald Hearn 等.計(jì)算機(jī)圖形學(xué)(第三版)[M]. 北京:電子工業(yè) H 版社,2022.[10] Angel E.OpenGL 編程基礎(chǔ)[M]. 北京:清華大學(xué)出版社,2022.[12]3D Game Development On JSR1 84. [13]Eric Freeman,Head First Design Pattern[M]. O’REILLY,2022.[14]openGL Programming Guide 網(wǎng)絡(luò)版. AddisonWesley Publishing Company.[15]Microsoft Visual C++6.0 技術(shù)內(nèi)幕,David J.Kruglinski,Scot Wingo,GeeShepherd著. 北京希望電子出版社 1999 年 5 月第 1 版.[16]Mason.Woo,Jcakie Neider,Tom Davis 等著.吳斌,段海波,薛鳳武譯. OpenGL 編程權(quán)威指南.北京:中國電力出版社,310312.[17]Richard s.Wright,Jr.Michael Sweet 著.瀟湘工作室譯.OpenGL 超級(jí)寶典. 北京:人民郵電出版社,.[18]Catmull E.A.Subdivision Algorithm for Computer Display of Curved Surfaces.PhD thesis.University of Utah.1974[19]喬林,費(fèi)廣正. OpenGL 程序設(shè)計(jì). 北京:清華大學(xué)出版社,2022.[20]白燕斌,史惠康. OpenGL 三維圖形編程指南. 北京:機(jī)械工業(yè)出版社,1998.[21]彭群生,鮑虎軍,金小剛. 計(jì)算機(jī)真實(shí)感圖形的算法基礎(chǔ)[M]. 北京:科學(xué)出版社,1999.[22]Dave Shreiner 著. (OpenGL 參考手冊(cè)》. 機(jī)械工業(yè)出版社.2022.[23]孫家廣等.計(jì)算機(jī)圖形學(xué)(第三版). 北京:清華大學(xué)出版社,1998,286.357.[24]F.S.Hill,JR 著.計(jì)算機(jī)圖形學(xué)一一用 OpenGL 實(shí)現(xiàn)(第二二版)》 .羅霄等譯. 清華大學(xué)出版社.2022.[25]瀟湘工作室. OpenGL 超級(jí)寶典[M]. 北京:人民郵電出版社,2022[26]和平鴿工作室. OpenGL 高級(jí)編程與可視化系統(tǒng)開發(fā)[M]. 北京:中國水利水電出版社, 2022.[27]孫家廣,胡事民.計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程[M]. 北京:清華大學(xué)出版社,2022.[28]王汝傳. 計(jì)算機(jī)圖形技術(shù)原理及應(yīng)用[M]. 北京:人民郵電出版社,1998.[29]費(fèi)廣正,蘆麗丹,陳立新. 可視化 OpenGL 程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2022.[30]孫家廣,楊長貴. 計(jì)算機(jī)圖形學(xué)(第三版)[M]. 北京:清華大學(xué)出版社。1998.[31]Heran D,Baker M P. 計(jì)算機(jī)圖形學(xué). 北京:清華大學(xué)出版社,1998.[32]蔡士杰,等譯.Computer Graphics with OpenGL(ThirdEdition)[M]. 北京:電子工業(yè)出版社,2022.[33] 編程權(quán)威指南[M]. 北京:中國電力出版社,2022.[34]彭群生,等.計(jì)算機(jī)真實(shí)感圖形的算法基礎(chǔ)[M]. 北京:北京科學(xué)出版社,2022.27[35]江早.OpenGL 圖形編程[M]. 科學(xué)出版社,2022.[36]喬林,費(fèi)廣正等.程序設(shè)計(jì) 0peoGL[Ⅵ]. 清華大學(xué)出版杜,2022.[37]曾建超,俞志和.虛擬現(xiàn)實(shí)的技術(shù)及其應(yīng)用Ⅶ. 北京:清華大學(xué)出版社,2022.[38]圈石教英.虛擬現(xiàn)實(shí)基礎(chǔ)及實(shí)用算法嗍. 北京:科學(xué)出版社,2022.[39]倪明田.計(jì)算機(jī)圖形學(xué)[M]. 北京:北京大學(xué)出版社,1999.[40]李自力.虛擬現(xiàn)實(shí)中基于圖形與圖像的混合建模技術(shù). 中國圖象圖形學(xué)報(bào).2022.1.96100.[41]Wright R S,Sweet J M. OpenGL 超級(jí)寶典. 北京:人民郵電 出版社,2022.[42]喬林,費(fèi)廣正等.OpenGL 程序設(shè)計(jì). 北京:清華大學(xué)出版社,2022.1121..[43]彭群生,鮑虎軍,金小剛.計(jì)算機(jī)真實(shí)感圖形的算法基礎(chǔ). 北京:科學(xué)出版社,1999,.28致謝半年的設(shè)計(jì)時(shí)間雖然短暫,我卻從中學(xué)到了很多的東西。我由衷地感謝關(guān)懷、教誨、幫助、支持和鼓勵(lì)我完成設(shè)計(jì)的老師和同學(xué)。特別感謝我的導(dǎo)師,半年來他在學(xué)習(xí)、科研上一直對(duì)我悉心指導(dǎo),嚴(yán)格要求、熱情鼓勵(lì),為我創(chuàng)造了很多鍛煉提高的機(jī)會(huì)。老師洞察全局、高屋建瓴,為我的論文的順利完成指出了很好的方向,鄭老師淵博的知識(shí)、寬廣無私的胸懷、夜以繼日的工作態(tài)度、對(duì)事業(yè)的執(zhí)著追求、誨人不倦的教師風(fēng)范和對(duì)問題的敏銳觀察力,都將使我畢生受益。在此我謹(jǐn)向我的導(dǎo)師以及在畢業(yè)設(shè)計(jì)過程中給予我很大幫助的老師、同學(xué)們致以最誠摯的謝
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1