遊戲程式設計學習 天空盒

2021-08-23 11:54:51 字數 715 閱讀 7709

天空盒

1. 天空的種類

目前描述「天空」的技術主要包括三種型別:

平板型天空(sky plane,僅用乙個平板放到頭頂。

天空穹(sky dome,放到頭頂的是乙個曲面。

天空盒(sky box,放到場景的是乙個立方體。

天空盒經常是由六個面組成的立方體,並經常會隨著視點的移動而移動。

天空盒將刻畫極遠處人無法達到的位置的景物。

2. 天空盒的實現

與d3d實現的普通立方體不同的一點是,大部分情況下我們視點都包容在天空盒內部,因此,天空盒的頂點順序應當是正好與普通立方體的頂點順序相反。

最簡單的天空盒,只需要填寫好六個面的24個頂點,最後為每個面貼上紋理即可。

3. 一些雜論

天空盒對於程式設計師並不是困難的事情,但是真正要在程式中使得天空「好看」,那麼,還需要美工的共同參與。

天空穹相對而言表現力更好一些。魔獸世界就是採用了這種方法。

對於並不太注意遠景的場景,用天空板也不失為一種辦法。在這種情況下,純色的霧將覆蓋整個遠景,使得遠處充滿神秘。

在高階一些的應用中,天空盒的紋理可能同時會用來生成cube map,並用之來做水面倒影、雲影、反光等很眩的特效。

Ogre 建立天空盒 天空穹 天空面

1.天空盒 立方體 六面 stevecube up,stevecube dn,stevecube lf,stevecube rt,stevecube fr,stevecube bk.jpg 建立 mscenemgr setskebox 是否啟用,材質名,skybox與camera的距離,渲染級別 m...

opengl 天空盒 ThingJS玩轉天空盒技術

在計算機的三維世界中,三維天空的繪製肯定不可能像現實生活中的天空一樣,一望無際綿延無盡 thingjs的天空盒技術是認真的。引用地圖元件指令碼之後地球相機引數就改變,需要校正天空盒。為什麼偏偏是天空盒呢?這就得問一下,天空盒的原理是什麼?opengl中天空盒的思想就是繪製乙個大的立方體,然後將觀察者...

cesium 構建天空盒

我們用typescript 實現 cesium 天空盒子 我們定義引數類 我們定義skybox 基類 j ascript const boxgeometry cesium.boxgeometry const cartesian3 cesium.cartesian3 const defaultvalu...