计算球体的顶点法线

Trt*_*Trt 6 opengl

我想知道如何将每个球体的顶点存储在缓冲区中,并分别计算每个球体的法线.是否可以在OpenGL中执行此操作?

Nic*_*las 16

OpenGL通常用于渲染网格,而不是计算网格.法线是网格数据的一部分.网格构建器通常负责提供法线.

在球体的情况下,法线很难完美地计算.对于球体上的给定矢量位置P,其中心是C,法线是norm(P - C),其中norm矢量归一化.

  • @TrtTrt:然后这使得计算更容易,是吗? (2认同)
  • @TrtTrt确保您完全理解法线是什么以及应该具有哪些属性.然后确保你完全理解Nicol的计算球体法线及其工作原理的解决方案.然后再想一想,当中心是(0,0,0)时,它是否会引起问题,无论是概念还是数学.(最后接受并向上投票这个完全正确的答案.) (2认同)
  • @TrtTrt:你无法绘制法线.你可以画三角形; 你可以画线.您可以绘制恰好沿法线方向指向的线条,但这不会自行发生.你必须真正做到这一点.在任何一种情况下,这都是一个完全不同的问题,所以你应该问这个问题. (2认同)