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

正文內容

基于opengl粒子系統(tǒng)的噴泉模擬-資料下載頁

2024-11-07 17:47本頁面

【導讀】的重要性越來越突出,尤其在3D游戲、軍事演習和仿真實驗等方面。圖形學的一個重要研究課題。擬真實事物的方法。實際上,很多自然景物難以用幾何模型描述,如煙霧、植物、水波、該方式模擬噴泉比較真實,速度快,在普通的微機上可以得到令人滿意

  

【正文】 *PI)/180。 ttx = temppx*cos(alpha)temppz*sin(alpha)。 ttz = temppx*sin(alpha)+temppz*cos(alpha)。 = ttx 。 = temppy 。 = ttz 。 湖南大學畢業(yè)設計 (論文 ) 第 21 頁 湖南大學軟件學院 vect_mult(amp。vectd, amp。upv, amp。vectl)。 normalize(amp。vectl)。 *= 5。 *= 5。 *= 5 其中 ,“ alpha = ((j*20+a)*PI)/180” 中的 20 表示 18 個水柱以間隔 20 度分布在一個圓面。 紋理貼圖 紋理貼圖是一個比較煩瑣的過程, 它首先需要添加相應的映射函數(shù)、設置像素格式和管理著色描述表。 由于本文采用的 粒子是一個個 很 小的正方體 , 所以 可以 不用設置三維結構圖,這樣就減 輕 了工作量。 當 以上步驟都完成后 , 就可以進行紋理貼圖的主要環(huán)節(jié)了 ——紋理映射。紋理映射的關鍵是定義紋理、指定紋理在像素上的應用方式及啟用紋理。 在本文的具體實現(xiàn)時,采用 如下方式定義紋理控制濾波,說明紋理的映射方式, 啟用紋理。 ( 1) 定義紋理 glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, texwid, texht, 0, GL_RGBA, GL_UNSIGNED_BYTE, teximage)。 ( 2) 控制紋理 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)。 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)。 glTexCoord2f(0, 0)。 glVertex3f((), (tempp), ())。 glTexCoord2f(1, 0)。 glVertex3f((ttx+), (tempp), (ttz+))。 glTexCoord2f(1, 1)。 glVertex3f((ttx+), (temppy+), (ttz+))。 glTexCoord2f(0, 1)。 glVertex3f((), (temppy+), ())。 ( 3) 說明紋理映射方式 湖南大學畢業(yè)設計 (論文 ) 第 22 頁 湖南大學軟件學院 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)。 ( 4) 啟動紋理映射 glEnable(GL_TEXTURE_2D)。 ( 5) 完成紋理貼圖 glTexCoord2f(0, 0)。 glVertex3f((), (tempp), ())。 glTexCoord2f(1, 0)。 glVertex3f((ttx+), (tempp), (ttz+))。 glTexCoord2f(1, 1)。 glVertex3f((ttx+), (temppy+), (ttz+))。 glTexCoord2f(0, 1)。 glVertex3f((), (temppy+), ())。 最終實現(xiàn)具有 紋理貼圖 的 噴泉代碼如下: void CMyFountainView::DrawFountain() { int j。 struct particle *tempp。 struct point vectd, vectl。 float alpha, ttx, ttz。 glBindTexture(GL_TEXTURE_2D, texture[0])。 AddParticles()。 MoveParticles()。 DeleteParticles()。 glPushMatrix()。 for (j=0。 j3。 j++) { glBegin(GL_QUADS)。 tempp = fn[j]。 while (tempp) { // 旋轉噴泉 alpha = ((j*120+a)*PI)/180。 ttx = temppx*cos(alpha)temppz*sin(alpha)。 湖南大學畢業(yè)設計 (論文 ) 第 23 頁 湖南大學軟件學院 ttz = temppx*sin(alpha)+temppz*cos(alpha)。 // 計算方向矢量 = ttx 。 = temppy 。 = ttz 。 vect_mult(amp。vectd, amp。upv, amp。vectl)。 normalize(amp。vectl)。 *= 5。 *= 5。 *= 5。 glColor4f(, , 1, temppa)。 // 繪制多邊形和粒子紋理映射 glTexCoord2f(0, 0)。 glVertex3f((), (tempp), ())。 glTexCoord2f(1, 0)。 glVertex3f((ttx+), (tempp), (ttz+))。 glTexCoord2f(1, 1)。 glVertex3f((ttx+), (temppy+), (ttz+))。 glTexCoord2f(0, 1)。 glVertex3f((), (temppy+), ())。 tempp = temppnext。 // 繪制下一個粒子列表 } glEnd()。 } glPopMatrix()。 } 場景實現(xiàn) 噴泉當然是從地下噴射出來,需要一個地面來襯托噴泉的噴射。因此 ,本文 繪制了一個簡單的地面進行場景的實現(xiàn)。 湖南大學畢業(yè)設計 (論文 ) 第 24 頁 湖南大學軟件學院 這個地面 只 是一個簡單的 有 紋理貼圖 的 立方體 , 其 定義 如下( 4 個 頂 點 ) : glTexCoord2f(0, 0)。 glVertex3f(100, 0, 100)。 glTexCoord2f(2, 0)。 glVertex3f(100, 0, 100)。 glTexCoord2f(2, 2)。 glVertex3f(100, 0, 100)。 glTexCoord2f(0, 2)。 glVertex3f(100, 0, 100) glBindTexture(GL_TEXTURE_2D, texture)。 這樣地面、噴泉就實現(xiàn)了簡單場景。 如圖 7: 圖 42 噴泉的模擬效果 圖 具體實現(xiàn) 代碼如下: BOOL CMyFountainView::RenderScene() { glClear(GL_COLOR_BUFFER_BIT)。 glLoadIdentity()。 glBindTexture(GL_TEXTURE_2D, texture1)。 湖南大學畢業(yè)設計 (論文 ) 第 25 頁 湖南大學軟件學院 a += 。 gluLookAt(, , , 0, 0, 0, , , )。 // 繪制地面 glPushMatrix()。 glRotatef(a, 0, 1, 0)。 glBegin(GL_QUADS)。 glTexCoord2f(0, 0)。 glVertex3f(100, 0, 100)。 glTexCoord2f(2, 0)。 glVertex3f(100, 0, 100)。 glTexCoord2f(2, 2)。 glVertex3f(100, 0, 100)。 glTexCoord2f(0, 2)。 glVertex3f(100, 0, 100)。 glEnd()。 glPopMatrix()。 // 繪制噴泉 DrawFountain()。 glFlush()。 ::SwapBuffers(m_pDCGetSafeHdc())。 //交互緩沖區(qū) return TRUE。 } 湖南大學畢業(yè)設計 (論文 ) 第 26 頁 湖南大學軟件學院 5. 總結 本系統(tǒng) 采 粒子系統(tǒng)來模擬噴泉,利用 MFC 框架實現(xiàn)場景模擬。 突破了 幾何模擬自然景物的限制,更加逼真、真實 。 系統(tǒng) 在提高粒子處理規(guī)模的同時,提高了繪制的效率,從而保證了繪制的實時。在具體的實現(xiàn)中,對速度,位置,生存時間等讓其在某個小范圍內隨機波動,增加了噴泉的動感。 不過,系統(tǒng)對水滴的模擬并沒有做到位,只是簡單地對正方體粒子使用紋理貼圖的方式進行模擬。 粒子形狀變化、大小變化以及水滴間的區(qū)別都沒 有實現(xiàn)。水滴的材質和光照屬性都只是依靠紋理貼圖略微的體現(xiàn),視覺效果稍差。 希望以后有機會深入研究圖形學,改進此系統(tǒng)對水滴模擬的缺陷。 湖南大學畢業(yè)設計 (論文 ) 第 27 頁 湖南大學軟件學院 致謝 在對本系統(tǒng)的整個開發(fā)過程中,得到了指導老師的幫助。作為本次畢業(yè)設計的指導教師 申煜湘 老師,自始至終都關注著開發(fā)工作的進展,從總體上給予指導,并為具體開發(fā)提出了許多寶貴意見。沒有老師的幫助和指導是不可能完成這項設計任務 , 在此向 申 老師致以最衷心的感謝。 同時我還要特別感謝何 杰 同學,畢業(yè)設計期間,他對我的幫助無處不在,只要我不明白的地方他總能給我一個滿意的答案。 然后我感謝大 學四年來所有的老師,他們?yōu)槲覀兇蛳铝松詈竦挠嬎銠C專業(yè)知識基礎。 我還要感謝我的父母他們給我最無私的愛,不僅給我學習知識的機會,還教育了我學習如何做人。 最后衷心感謝各位評審老師。 湖南大學畢業(yè)設計 (論文 ) 第 28 頁 湖南大學軟件學院 參考文獻 [1] Reeves, William T.. Particle SystemsTechnique for Modeling a Class of Fuzzy Objects[A]. SIGGRAPH Proceeding[C], 1983. [2] Karl Sims. Particle Animation and Rendering Using Data Parallel Computation[J]. Computer Graphics, 24(4): 405- 413, 1990. [3] Ian Buck. Data Parallel Computing on Graphics Hardware. Stanford University, 2020. [4] Lutz Latta. Building a Million Particle System[A]. Game Developers Conference[C], 2020. [5] Andreas Kold, Lutz Latta, Christof RezkSalama. Hardwarebased Simulation and Collision Detection for Large Particle Systems[A]. The Eurographics Association 2020[C], 2020. [6] 許楠等 , 郝愛民 , 王莉莉 . 一種基于 GPU的粒子系統(tǒng)[ J] . 計算機工程與應用 , 2020, (19): 7779. [7] 馬駿 , 朱衡君 , 龔建華 . 基于矢量控制法和 LOD 的音樂噴泉模擬 [J]. 系統(tǒng)仿真學報 , 2020, 17(7): 16741679. [8] 馬駿 , 朱衡君 . 基于動態(tài)紋理和粒子系統(tǒng)的噴泉模擬 [J]. 北京交通大學學報 , 2020, 29(1): 9095. [9] 趙靜謐 , 張慧 , 鄭國勤 . 基于粒子系統(tǒng)的噴泉模擬 [J]. 計算機應用研究 , 2020, (1): 244246. [10] 方建文 , 于金輝 , 馬文龍 . 基于硬件加速和粒子系統(tǒng)的實時噴泉模擬 [J]. 計算機工程與應用 , 2020, (14): 117120.
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1