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

正文內(nèi)容

基于opengl與粒子系統(tǒng)的瀑布場(chǎng)景模擬-免費(fèi)閱讀

  

【正文】 例如,本人電腦是 64 位機(jī),在搭建環(huán)境上首先就遇到了和小組他人不一樣的問(wèn)題。根據(jù)現(xiàn)實(shí)瀑布,設(shè)計(jì)出一個(gè)較為貼近生活的瀑布運(yùn)動(dòng)軌跡。 系統(tǒng)結(jié)果與分 析 圖 51瀑布正面效果圖 這是在本系統(tǒng)下,利用 OpenGL與粒子系統(tǒng)繪制的瀑布場(chǎng)景模擬效果圖。 glLightfv(GL_LIGHT2, GL_DIFFUSE, light_col2 )。 //經(jīng)過(guò)鏡面反射后形成的光線強(qiáng)度 glLightfv(GL_LIGHT0, GL_DIFFUSE, light_col0 )。 //背景設(shè)置為黑色 glShadeModel(GL_SMOOTH)。 // 環(huán)境光給黑色完全透明 GLfloat light_pos1[]={ , , , }。最終反射到人眼的顏色是光的RGB 分量的反射率與材質(zhì) RGB 分量的反射率乘積。 )。 } //資源回收 free( wstring )。 } //將混合字符轉(zhuǎn) 化為寬字符 wstring=(wchar_t*)malloc((len+1)*sizeof(wchar_t))。 wchar_t * wstring。 //交換緩沖區(qū),雙緩存 } 文 字顯示效果 顯示文字,首先計(jì)算出字符個(gè)數(shù),如果是雙字節(jié),兩個(gè)字節(jié)算一個(gè)字符,否則一個(gè)字節(jié)算一個(gè)字符。 // 霧的類型為線性霧模式,霧用深度來(lái)描述 glFogfv(GL_FOG_COLOR, fogColor)。 i HOWMANY。 } 基于 OpenGL 與粒子系統(tǒng)的瀑布場(chǎng)景模擬 17 音樂(lè)添加 在本設(shè)計(jì)中,有兩首音樂(lè),一首背景音樂(lè),一首古詩(shī)朗誦。 else if(camYaw ) camYaw = 。并且每次移動(dòng)后,將新的坐標(biāo)傳回?cái)z像機(jī)。 } if(key==39。 // 初始化音頻文件 FSOUND_Stream_Play(FSOUND_FREE,mp3back)。) { InitFMOD()。) //第一句介紹 { first_line = !first_line。) //是否顯示霧化 { show_FOG = !show_FOG。 } display()。 if(camPitch 2) camPitch = 2。 if(camYaw ) camYaw = 5+camYaw。 w、 q鍵為向 y軸正負(fù)方向旋轉(zhuǎn), a、 s鍵為向 x軸正負(fù)方向旋轉(zhuǎn), z、 x鍵為向 z軸正負(fù)方向旋轉(zhuǎn)。 //x、 y、 z 位置 glTranslatef(x,y,z)。由于是對(duì)球體進(jìn)行貼圖,本文先將粒子坐標(biāo)平移至球心,再開(kāi)啟紋理映射,貼圖結(jié)束后再平移回原來(lái)位置。 particles[i][4] += tweak(.2)。本文中,粒子沒(méi)有生命期,生命的消亡完全根據(jù)其是否已經(jīng)超出底部位置決定。 (k HOWMANY)。 // z 方向速度更新 particles[i][6] = 1.。 //每次更新數(shù)目 float particles[HOWMANY][7]。本 文用的是球形來(lái)繪制水粒子。 本文中,粒子的更新通過(guò) HOWMANY 所設(shè)定的數(shù)量來(lái)控制,如果活躍粒子數(shù)量不足,福州大學(xué) 至誠(chéng) 學(xué)院 本科生畢業(yè)設(shè)計(jì) (論文 ) 8 粒子源即發(fā)出新的粒子,并且每次更新數(shù)目由 Toupdate 來(lái)控制。 福州大學(xué) 至誠(chéng) 學(xué)院 本科生畢業(yè)設(shè)計(jì) (論文 ) 6 第 3 章 瀑布系統(tǒng)的設(shè)計(jì) 系統(tǒng)大致框架 制作一個(gè)瀑布模 型場(chǎng)景的模擬,首先我們需要運(yùn)用粒子系統(tǒng),并且利用紋理映射對(duì)其進(jìn)行貼圖,使其效果更逼真。大量的粒子構(gòu)成一個(gè)粒子系統(tǒng)。可以分為二維紋理映射和三維紋理映射兩個(gè)大類。 OpenGL 開(kāi)發(fā)庫(kù) 使用 OpenGL 進(jìn)行開(kāi)發(fā)時(shí),首先我們要現(xiàn)在計(jì)算機(jī)上進(jìn)行配置,配制步驟如下: (1) 動(dòng)態(tài)鏈接文件 , 復(fù)制至 Syswow64 目錄下; (2) 靜態(tài)鏈接文件 , 復(fù)制至 VC\lib 目錄下; (3) 函數(shù)說(shuō)明文件 復(fù)制至 VC\inlude 目錄下。 第 5章展示瀑布場(chǎng)景模擬效果圖以及簡(jiǎn)要分析。利用紋理映射、色彩融合使效果更加逼真。 瀑布場(chǎng)景的模擬粒子系統(tǒng)中較為少見(jiàn)的。目前 ,計(jì)算機(jī)圖形界已經(jīng)出現(xiàn)了多種方法模擬自然事物,其中,粒子系統(tǒng)是一種公認(rèn)的較為成功的方法,并受到廣泛的研究、推廣和應(yīng)用。并且這項(xiàng)技術(shù)被不斷應(yīng)用于模擬大自然景觀。這為模擬花、草、云、霧、雪等自然景觀提供了十分有效的技術(shù)手段。為了使模擬視覺(jué)效果逼真,本系統(tǒng)采用了 OpenGL 中的紋理映射、光照、顏色、視圖等相關(guān)知識(shí)。 論文作者簽名: 日期: 關(guān)于論文使用授權(quán)的說(shuō)明 本人完全了解福州大學(xué)至誠(chéng)學(xué)院有關(guān)保留、使用學(xué)位 論文的規(guī)定,即:學(xué)院有權(quán)保留送交論文的印刷本、復(fù)印件和電子版本,允許論文被查閱和借閱;學(xué)院可以公布論文的全部或部分內(nèi)容,可以采用影印、縮印、數(shù)字化或其他復(fù)制手段保存論文。保密的論文在解密后應(yīng)遵守此規(guī)定。首先,對(duì)現(xiàn)實(shí)瀑布特征進(jìn)行分析,設(shè)計(jì)出一個(gè)瀑布模型,根據(jù)一定的物理知識(shí)及數(shù)學(xué)知識(shí)構(gòu)造出瀑布模型的軌跡,飛流直下,遇到障礙物時(shí)飛濺反彈而起再做一個(gè)拋物 線運(yùn)動(dòng)落下。目前,已經(jīng)有多例利用粒子系統(tǒng)模擬自然場(chǎng)景的成功案例。1990 年 提出粒子系統(tǒng)的并行繪制算法 [3]。自然也具有了比較廣闊的研究前景。瀑布較噴泉壯觀,巨大的水流自上而下,傾盆而至,伴著陽(yáng)光不同角度的照耀,形成一種美而壯于一體的景致,令人振奮。采用一定物理知識(shí)及數(shù)學(xué)公式實(shí)現(xiàn)粒子軌跡運(yùn)動(dòng)。 基于 OpenGL 與粒子系統(tǒng)的瀑布場(chǎng)景模擬 3 第 2 章 相關(guān)技術(shù)介紹 OpenGL 技術(shù) “開(kāi)放式圖形庫(kù)”是 OpenGL的全稱,它是一個(gè)快捷方便的三維圖形庫(kù)。 OpenGL 函數(shù) 窗口操作函數(shù): glutInit()對(duì) glut 進(jìn)行初始化,并處理所有命令參數(shù),此函數(shù)要在調(diào)用其它任何 glut 函數(shù)之前調(diào)用、 glutInitDisplayMode()用來(lái)指定窗口模式、 glutInitWindowSize()用來(lái)指定窗口大小、 glutInitWindowPosition()用來(lái)指定窗口位置、 glutGreatWindow 用來(lái)創(chuàng)建一個(gè)支持 OpenGL 渲染環(huán)境的窗口; 回調(diào)函數(shù): GlutDisplayFunc()響應(yīng)刷新消息、 glutReshapeFunc()重新塑形、 glutTimerFunc()定時(shí)器函 數(shù)、 glutKeyboardFunc()和 glutMouseFunc()允許鍵盤的一個(gè)鍵或鼠標(biāo)上的一個(gè)按鈕與一個(gè)函數(shù)相關(guān)聯(lián)、 glutIdleFunc()強(qiáng)制刷新; 程序運(yùn)行函數(shù): glutMainLoop()、 glFlush()。 圖 22二維紋理映射到三維物體表面圖 色彩融合 在 OpenGL 中,紅、綠、藍(lán)三種顏色混合而成組成不同的顏色,每種顏色成分使用在~ 之間的任意有效浮點(diǎn)數(shù)來(lái)表示顏色值。如位置、速度、顏色、生命期、透明度等等都可以成為粒子的屬性。以下是瀑布粒子系統(tǒng)的大致框架: 開(kāi) 始粒 子 初 始 化在 瀑 布 頂 端 ?豎 直 運(yùn) 動(dòng) , 更 新 豎直 方 向 位 置 及 速 度觸 碰 崖 壁 ?拋 物 線 運(yùn) 動(dòng) , 更 新豎 直 、 水 平 方 向 速度 及 位 置超 出 設(shè) 定 瀑 布 底 端 ?粒 子 消 亡結(jié) 束否否否是是是 圖 31粒子系統(tǒng)大致框架圖 基于 OpenGL 與粒子系統(tǒng)的瀑布場(chǎng)景模擬 7 瀑布模型的定義 本課題,定義的瀑布模型,先進(jìn)性直線運(yùn)動(dòng),碰到崖壁時(shí)反方向彈起,最后做一個(gè)拋物線運(yùn)動(dòng)。 瀑布粒子的消亡 每個(gè)粒子都有其出生,發(fā)展,死亡的生命歷程,整個(gè)粒子系統(tǒng)不斷更新,時(shí)刻保持著一種動(dòng)態(tài)平衡,用來(lái)保證粒子總數(shù)不變。并且利用紋理映射使水珠效果更加逼真。 define TOP 2. //頂部位置 define BOTTOM 6. //底部 位置 define LEDGE 3. //崖壁位置 define DELTA_T //衰減單位時(shí)間 define GRAV 30. //重力加速度 float tweak(float scale) //衰減計(jì)算方法 { return(scale*(2.*((float)rand()/RAND_MAX)1.))。 // 做標(biāo)記,活躍的粒子并且碰到壁架 } 福州大學(xué) 至誠(chéng) 學(xué)院 本科生畢業(yè)設(shè)計(jì) (論文 ) 10 瀑布粒子生成實(shí)現(xiàn) 本文中,粒子的更新是根據(jù)屏幕上現(xiàn)顯示的粒子是否小于 HOWMANY來(lái)判斷,如果沒(méi)有足夠的粒子,粒子源即根據(jù) ToUpdate數(shù)值進(jìn)行生成。 k++ )//有沒(méi)有足夠的粒子就記下這里潛在的粒子 { if (particles[k][6] 0.) { particles[k][6] = 1.。起初,粒子都在瀑布頂部位置,更新時(shí)首先判斷粒子是否已經(jīng)超 出底部位置,如若超出即從粒子系統(tǒng)刪除。 // 更新水平速度 particles[i][5] *= +tweak(.2)。以下是繪制粒子代碼實(shí)現(xiàn): void drawParticle(int i) 福州大學(xué) 至誠(chéng) 學(xué)院 本科生畢業(yè)設(shè)計(jì) (論文 ) 12 { GLUquadric *myQuad。 //平移至球心 glEnable(GL_TEXTURE_2D)。旋轉(zhuǎn)實(shí)現(xiàn)代碼如下: void keyboard(unsigned char key, int x, int y) { if(key==39。 } if(key==39。 } if(key==39。 } 霧化控制 起初, int show_FOG=0。 } display()。 } if(key==39。 // 初始化音頻文件 FSOUND_Stream_Play(FSOUND_FREE,mp3back)。 // 播放背景音樂(lè) mp3 } display()。d39。 void mouse(int button, int state, int x, int y) { // 將現(xiàn)在攝像機(jī)位 置保存到當(dāng)前鼠標(biāo) mx = x。 camPitch += *(GLfloat)(ymy)。定義音樂(lè)格式為 mp3,載入音頻文件,聲音初始化為 44khz,讀入文件所在位置,載入后播放。 i++ ) 福州大學(xué) 至誠(chéng) 學(xué)院 本科生畢業(yè)設(shè)計(jì) (論文 ) 18 { particlesInit(i)。 // 霧的顏色 glFogf(GL_FOG_DENSITY, )。例如,本文中,漢字就是雙字節(jié),但要以一個(gè)字符來(lái)計(jì)算。 HDC hDC=wglGetCurrentDC()。 MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, str, 1, wstring, len )。 glDeleteLists( list, 1 )。//所要顯示的文字 } else { } if(second_line){ selectFont(25,GB2312_CHARSET,黑體 )。本文,先指定了每一盞燈的位置和顏色,再添加光照球體,通過(guò) glShadeModel()函數(shù),使光照更加平滑。 // 第二盞燈位置 GLfloat light_col1[]={ , , , }。 // 使光照模型平滑 BuildTexture(Data/, texture[0])。 //經(jīng)過(guò)漫反射后形成的光線強(qiáng)度 glLightfv(GL_LIGHT1, GL_POSITION, light_pos1 )。 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1 )。 旋轉(zhuǎn)時(shí)不同光照效果分析 基于 OpenGL 與粒子系統(tǒng)的瀑布場(chǎng)景模擬 23 圖 52四分之一瀑布變綠色 圖 53顏色漸變綠、黃、白 圖 54青色的瀑布 圖 55漸變色綠、黃 通過(guò)鼠標(biāo)、鍵盤移
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1