






















网格:
object {
shader default
type generic-mesh
name meshName
points X
x y z
…
triangles X
A B C /* 顶点索引,从0开始 */
…
normals none/vertex/facevarying
uvs none/vertex/facevarying
}
对于法线和UVS,如果使用vertex类型,网格的每个点都需要自己的法线或UV坐标,如:
...
points 3
x1 y1 z1
x2 y2 z2
x3 y3 z3
triangles 1
0 1 2
normals vertex
d1 e1 f1
d2 e2 f2
d3 e3 f3
uvs vertex
u1 v1
u2 v2
u3 v3
}
对于facevarying类型,要使用如下的格式:
...
points 3
x1 y1 z1
x2 y2 z2
x3 y3 z3
triangles 1
0 1 2
normals facevarying
d1 e1 f1 d2 e2 f2 d3 e3 f3
uvs facevarying
u1 v1 u2 v2 u3 v3
}
transform {
rotate x y z d /* {x,y,z}是法线坐标,d是旋转角度 */
}
可以使用变换矩阵进行变换,如:
object {
shader default
transform col my4x4MatrixReadByColumn
type generic-mesh
object {
shaders 2
shaderName0
shaderName1
modifiers 2
bumpName0
"None"
type generic-mesh
name meshName
points 6
x1 y1 z1
x2 y2 z2
x3 y3 z3
x4 y4 z4
x5 y5 z5
x6 y6 z6
triangles 2
0 1 2
1 2 3
normals none
uvs facevarying
u1 v1 u2 v2 u3 v3
u4 v4 u5 v5 u6 v6
face_shaders
0
1
}
在 face_shaders节,把阴影0(即阴影列表中的第一个阴影 -- shaderName0)赋给三角形列表中的第一个三角形,阴影1赋给第二个三角形,等等。此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。