紋理映射為 3D 物體表面增添細節紋理。本講涵蓋 PixelTexture (程序化像素紋理)、ImageTexture (圖片貼圖)、TextureCoordinate (紋理座標映射)、TextureTransform (紋理變換) 四大核心節點,附代碼與效果圖。
image 字段格式:寬度 高度 組件數 像素值...
0xff0000 (紅)示例:2×2 RGBA 紋理
PixelTexture {
image [2 2 4 0xff0000ff 0x00ff0080 0x0000ff40 0xffffffff]
}


映射規律:默認將幾何體表面均勻劃分為寬×高網格,每格中心為紋理採樣點,向四周插值過渡。

url 指定圖片路徑 (相對/絕對/HTTP),支持 .gif、.jpg、.png 等。
ImageTexture { url "x3d.gif" }


基本幾何體默認六面全部貼圖。
控制紋理圖像如何映射到幾何體表面。point 字段定義 2D 紋理座標 (s,t),範圍 [0,1] 為圖像內部,超出則重複/夾鉗 (視 repeatS/T)。
配合 IndexedFaceSet 使用:
coordIndex:頂點索引構建面 (-1 分隔面)texCoordIndex:紋理座標索引,與 coordIndex 一一對應




分析:紋理座標 (0,0)-(1,1) 對應圖像四角,索引順序決定映射關係。開啟 repeatS/T 可重複貼圖。



對紋理座標進行平移、旋轉、縮放,**視覺效果與變換方向相反**。
| 屬性 | 說明 |
|---|---|
| translation | 紋理平移 (s,t),視覺上圖像反方向移動 |
| rotation | 紋理旋轉角度 (弧度),視覺上反向旋轉 |
| scale | 紋理縮放 (s,t),視覺上圖像反向縮放 |
| center | 旋轉/縮放中心點 (s,t) |