如何在 opengl 中为 GL_POINTS
启用两侧照明?
似乎 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
仅适用于构面,但不适用于 GL_POINTS
。
我正在做的是提供启用光照的vertices
和vertex normals
。禁用 GL_LIGHT_MODEL_TWO_SIDE
后,GL_POINTS 根据法线方向点亮。但是我无法为 GL_POINTS
启用双面照明。
这可以使用 OpenGL
遗留功能来完成吗?或者我是否必须通过否定所有法线来渲染两侧?
提前致谢。请不要评论使用 modern OpenGL
,因为这不是我问题的答案,而只是一个建议。
最佳答案
How to enable both side lighting for GL_POINTS in opengl?
你不知道。点和线没有边。只有面基元(三角形、四边形等)有边。
因此,如果您希望光照计算在法线朝外或其他情况下反转法线,那么是的,您将不得不渲染几何体两次。
关于c++ - 如何使用顶点法线为 GL_POINTS 启用两侧照明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38028652/