glTexEnv的目标是什么?

时间:2014-11-30 23:42:41

标签: opengl

阅读粒子系统渲染的点精灵,in this site他们谈论点精灵并使用调用glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);

我试图找到有关这方面的信息但是所有内容都指向OpenGL文档中给出的描述,有人可以提供一个更方便的示例/解释来理解它的含义吗?

1 个答案:

答案 0 :(得分:3)

您的标题有点宽泛,您实际上对一个特定参数感兴趣(手册页中未对此进行说明)。但是,如果您阅读OpenGL 2.0的正式规范,您会看到那里解释了参数

  

OpenGL Version 2.0 (October 22, 2004) - 3.3。点 - P。 100

     
    在光栅化点精灵 时产生的

所有片段 都会被分配相同的关联数据 ,这些是对应于该点的顶点。 然而,每个纹理坐标集 GL_COORD_REPLACE GL_TRUE ,这些纹理坐标 替换为点精灵纹理坐标

  

实际上,这意味着当禁用(默认)时,光栅化过程中产生的片段将被分配一个纹理坐标集。那些坐标是与创建点精灵的单个顶点相关联的坐标。

但这种行为并不是特别有用,因为如果点精灵的每个部分都具有相同的纹理坐标,那么纹理映射就毫无价值。因此,作为替代方案,GL可以自己计算纹理坐标,它通过指定左下角( 0 0 )和右上角来实现。精灵( 1 1 )。此行为也是可自定义的,如果您有兴趣阅读有关如何指定哪个角坐标的更多信息,则规范的链接部分会详细说明。

这些additional point parameters如下所示:

Origin diagram