Cube 使用三角形带创建平面着色立方体

Cube 使用三角形带创建平面着色立方体,cube,vertex,topology,normals,pixel-shading,Cube,Vertex,Topology,Normals,Pixel Shading,对于三角形条带如何处理法线,我并不完全了解。我想制作一个平面着色的立方体,所以我写了一个三角形条的顶点来制作一个立方体。这很有效。我用三角形条做了一个立方体。问题是,我将每个顶点的法线设置为立方体中心的相反方向。所以阴影很奇怪。我希望每一面都是平的颜色。你知道我如何设置法线来实现这一点吗?那么,你的法线是从立方体的中心以圆形的方式指向的吗 \_/ -|_|- / \ 是这样吗 目标是这样的吗 L -| |- T 如果是这种情况,您可以只检查法线闭合的法线,然后将它们更改为最接近的

对于三角形条带如何处理法线,我并不完全了解。我想制作一个平面着色的立方体,所以我写了一个三角形条的顶点来制作一个立方体。这很有效。我用三角形条做了一个立方体。问题是,我将每个顶点的法线设置为立方体中心的相反方向。所以阴影很奇怪。我希望每一面都是平的颜色。你知道我如何设置法线来实现这一点吗?

那么,你的法线是从立方体的中心以圆形的方式指向的吗

 \_/
-|_|-
 / \
是这样吗

目标是这样的吗

  L
-| |-
  T
如果是这种情况,您可以只检查法线闭合的法线,然后将它们更改为最接近的法线

distance = sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z2)^2)

谢谢我不确定我想做多少次sqrt;但这似乎是可行的。我认为困难在于,由于它是三角形条带,立方体的面必须共享顶点;所以我必须让顶点的法线像那样向外。如果你不想使用sqrt,你可以不用它来计算距离。它不会是实际距离,但足以比较哪些向量彼此最接近。