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

正文內(nèi)容

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

2025-06-22 01:35本頁(yè)面
  

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