Ios gl_PointSize OpenGLES说明

Ios gl_PointSize OpenGLES说明,ios,opengl-es,opengl-es-2.0,vertex-shader,pixel-shading,Ios,Opengl Es,Opengl Es 2.0,Vertex Shader,Pixel Shading,在顶点着色器中设置gl_PointSize=1.0意味着什么或实现了什么?这是否意味着顶点本身就是一个像素 gl_PointSize决定点的大小 可以绘制三角形、直线和点。例如,如果要以点为单位绘制三角形,则屏幕上将显示3个点。可以使用gl_PointSize参数更改大小。例如,如果设置gl_PointSize=10.0,然后屏幕上的点数会很大 这是干什么用的?提供了更多的可能性。纹理也可以绑定到一个点-无论你在哪里画一个点,都会有一个纹理。酷,哈?在这种情况下,纹理的大小由gl_PointSi

在顶点着色器中设置
gl_PointSize=1.0
意味着什么或实现了什么?这是否意味着顶点本身就是一个像素

gl_PointSize决定点的大小

可以绘制三角形、直线和点。例如,如果要以点为单位绘制三角形,则屏幕上将显示3个点。可以使用gl_PointSize参数更改大小。例如,如果设置gl_PointSize=10.0,然后屏幕上的点数会很大

这是干什么用的?提供了更多的可能性。纹理也可以绑定到一个点-无论你在哪里画一个点,都会有一个纹理。酷,哈?在这种情况下,纹理的大小由gl_PointSize决定

不太确定在什么范围内可以改变。我想这要看情况了。只要尝试一下(例如1.0、4.0、10.0),您就会很快看到差异

在顶点着色器中设置gl_PointSize=1.0意味着什么或实现了什么?这是否意味着顶点本身就是一个像素

是的


见:

变量
gl_PointSize
用于顶点着色器写入要光栅化的点的大小以像素为单位进行测量。

见:

点大小取自着色器内置的
gl_PointSize
,并固定到 与实现相关的点大小范围。如果写入
gl_PointSize
的值小于或等于零,则结果未定义。范围由别名的\u点\u大小\u范围确定,可以按照第6章的说明进行查询。 支持的最大点大小必须至少为一个
点光栅化为每个帧缓冲区像素生成一个片段,其中心位于以点(xw,yw)为中心的正方形内,边长等于点大小。


这意味着,如果定义
gl_PointSize=1.0
,则指定边长为1的正方形。中心点位于该正方形中的碎片将受到影响


与“桌面”OpenGL相比,程序内的点大小没有启用。(在桌面OpenGL中,
gl\u PointSize
只有在启用了
gl\u PROGRAM\u POINT\u SIZE
的情况下才有意义)。

在Android下,没有名为gl\u PROGRAM\u POINT\u SIZE的常量。但是gl_PointSize仍然可以在顶点着色器中设置,并且可以正常工作。@neoexpert是的,你说得对。这就是OpenGL ES和“桌面”OpenGL之间的区别