【问题标题】:Get face lighting in "model world" without shaders. OpenGL在没有着色器的“模型世界”中获得面部照明。 OpenGL
【发布时间】:2018-02-02 20:59:27
【问题描述】:

我有相当简单的 OpenGL 工作流程。我只使用列表(没有附加着色器):

glNewList(list, GL.COMPILE);
 //add vertices and normals
glEndList();
glCallList(list)

我想从 OpenGL 中获取一些关于创建对象的面的信息。特别是我需要知道它们是否在特定的时间内亮着。 glReadPixels 之类的东西,但不是来自帧缓冲区,而是来自 3D 世界。

是否可以通过 gl* 函数实现?

【问题讨论】:

    标签: opengl


    【解决方案1】:

    不使用任何着色器,就无法查询几何本身的任何信息。 OpenGL 不是为几何处理而设计的,它是一个渲染 API。

    有几种方法可以通过使用着色器来实现您所需要的:

    • 在计算着色器中执行整个计算(可能是性能最佳的选项)。
    • 使用几何着色器和变换反馈。

    您将如何实现它取决于您拥有哪些数据以及应该执行哪些计算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      相关资源
      最近更新 更多