在遊戲製作中的地形渲染terrainrender(轉)
在遊戲製作中的地形渲染terrainrender(轉)[@more@] 地形渲染是個很有用的技巧。經常用來渲染顯示世外場景和地貌形態。在DX SDK裡有不少terrain render的運用。比如公告牌的例子和實時影子渲染的例子裡都用到了地形渲染。 其實地形渲染就是以一個數學函式生成地表的高度值。使得地面呈現出高低不平的樣子。使用不同的高度生成函式,就可能出現不同的地貌。比如生成高山的樣子,或者起伏的丘陵的樣子。 這裡我把一個terrain render的示例完整的分離出來。 下面是地形渲染的關鍵,一個行內函數。它的作用是根據x,z座標值來生成y值,即地表高度值。使用行內函數是為了程式執行取得更高的效率。 inline FLOAT HeightField( FLOAT x, FLOAT y ) { return 9*(cosf(x/20+0.2f)*cosf(y/15-0.2f)+1.0f); } 你可以用想象力自己改寫這個函式 :),可以生成千奇百怪的地形。 這是生成地表的過程。這裡用一個扁平mesh來做地表。然後按一定格式取出它的高度值,用我們的高度生成函式來改寫它。 if( FAILED( m_pTerrain->Create( m_pd3dDevice, _T("SeaFloor.x") ) ) ) return D3DAPPERR_MEDIANOTFOUND; // Add some "hilliness" to the terrain LPDIRECT3DVERTEXBUFFER8 pVB; if( SUCCEEDED( m_pTerrain->GetSysMemMesh()->GetVertexBuffer( &pVB ) ) ) { struct VERTEX { FLOAT x,y,z,tu,tv; }; VERTEX* pVertices; DWORD dwNumVertices = m_pTerrain->GetSysMemMesh()->GetNumVertices(); pVB->Lock( 0, 0, (BYTE**)&pVertices, 0 ); for( DWORD i=0; i pVertices[i].y = HeightField( pVertices[i].x, pVertices[i].z ); pVB->Unlock(); pVB->Release();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-952136/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遊戲雜談:大製作遊戲和小製作遊戲,在開發思路方式上的差別遊戲
- Azure OpenAI在遊戲NPC和製作場景中的應用OpenAI遊戲
- 小遊戲的製作遊戲
- 製作遊戲的遊戲:創作樂趣的樂趣遊戲
- three.js 製作邏輯轉體遊戲(上)JS遊戲
- three.js 製作邏輯轉體遊戲(下)JS遊戲
- Minecraft類遊戲地形生成機制Raft遊戲
- 《孤島驚魂5》中的地形渲染技術-網格生成
- 製作暴力遊戲的人平時在過什麼樣的日子?遊戲
- 關於遊戲中的實時渲染遊戲
- 如何用Python製作自己的遊戲Python遊戲
- 使用Unity製作遊戲AIUnity遊戲AI
- 在製作遊戲的過程中,我都解決和改進了哪些問題遊戲
- 怎樣在電子遊戲裡製作自然紀錄片?遊戲
- 遊戲特效有哪些製作的分類遊戲特效
- Microsoft + Perforce:遊戲製作的全新構想ROS遊戲
- 底層搭建:踏入動作遊戲的製作階段遊戲
- 如何低成本製作遊戲音效遊戲
- 如何看待遊戲創作中,製作者與玩家的理念衝突?遊戲
- GAMEHACK 2021 紀實:關於中國遊戲製作的百態GAM遊戲
- 遊戲場景渲染中的PostProcessing(後處理)遊戲
- 遊戲音樂的認識與製作三遊戲
- 在swoole中製作一款仿製laravel的框架Laravel框架
- Python製作太空射擊小遊戲!Python遊戲
- 遊戲角色寫實頭髮製作遊戲
- 製作遊戲載入進度條遊戲
- 最“騷”的遊戲製作人,在成都做出中國最好的AVG遊戲
- 巨人網路製作人聊遊戲長留: 提高遊戲長留是遊戲製作終極追求遊戲
- 為什麼在遊戲中製造幽默這麼難?遊戲
- 製作遊戲人物頭部的21個小技巧遊戲
- 我對SLG遊戲製作的一些思考遊戲
- 在泛濫的復古潮下,如何製作與眾不同的賽博朋克遊戲遊戲
- erp在製作型企業中的優勢
- 2021年了,為什麼這些公司還在製作卡帶遊戲?遊戲
- 揭祕電子遊戲背後音效製作的故事遊戲
- News jam: 按新聞的節奏製作遊戲(上)遊戲
- News jam: 按新聞的節奏製作遊戲(下)遊戲
- phaser框架製作遊戲的例子,加上自己的註釋框架遊戲
- 微信吸粉小遊戲怎麼製作?中秋節微信公眾號吸粉小遊戲製作教程遊戲