有兩種轉換:
1.使用6個正方形組成的cubemap。
這種比較簡單,排版好就行:
2.全景圖轉成cubemap。
可以直接將魚眼那種的全景貼圖轉為cubemap。
需要注意的是這兩種轉換後,得到的貼圖都存在水平或者垂直方向的翻轉問題。
完整**:
using就這樣!unityengine;
public
static
class
cubemapandtexture2d
//////
使用panorado全景圖獲取cubemap
/// ///
///public
static
cubemap getcubemapbypanoradotexture2d(texture2d temptex)
static texture2d createcubemaptexture(texture2d m_srctexture, int texsize, int faceindex, string filename = null
)
if (faceindex == 1
)
if (faceindex == 2
)
if (faceindex == 3
)
if (faceindex == 4
)
if (faceindex == 5
)
vector3 rotdx1 = (vdira[1] - vdira[0]) / (float
)texsize;
vector3 rotdx2 = (vdira[3] - vdira[2]) / (float
)texsize;
float dy = 1.0f / (float
)texsize;
float fy = 0.0f
; color cols = new
color[texsize];
for (int y = 0; y < texsize; y++)
tex.setpixels(
0, y, texsize, 1
, cols);
fy +=dy;
}tex.wrapmode = texturewrapmode.clamp; //
tex = flippixels(tex, true, true
);
return
tex;
}static
color calcprojectionspherical(texture2d m_srctexture, vector3 vdir)
//////
水平/垂直反**圖象素
/// ///
//////
///public
static texture2d flippixels(texture2d texture, bool flipx, bool
flipy)
if(flipx)}}
if(flipy)}}
return
texture;
}//////
將cubemap轉為普通貼圖
/// ///
///public
static
texture2d gettexture2dbycubemap(cubemap cubemap)
}
拜拜~
opengl 使用 texture2d 關鍵步驟
生成 texture2d 的步驟 1.準備 紋理的畫素資料 imagedata 2.glgentextures 存放在乙個 控制代碼 gluint texture 3.glbindtexture 剛才生成的 texture,第乙個引數是 gl texture 2d 4.glteximage2d 用 ...
Unity 二維紋理 Texture 2D 1
二維紋理 texture 2d 紋理使你的網格 粒子 和介面更生動!它們是你覆蓋或環繞著物件的或影片檔案。由於它們是如此的重要,它們有很多的屬性。如果你是第一次閱讀這一點,跳到細節,當你需要乙個參考時返回到實際設定。用於物件的著色器可以指定所需要的紋理,但基本原則是可以放置專案中任何影象檔案。如果它...
Unity 二維紋理 Texture 2D 4
supported formats 支援的格式 unity支援下面的檔案格式 psd,tiff,jpg,tga,png,gif,bmp,iff,pict。應注意,unity可以匯入多層psd和tiff檔案,在匯入時,層將自動被塌陷,因此你不必浪費時間,直接使用原始檔型別。這點很重要,允許只有乙個紋理...