[英]Why is GL_ALIASED_POINT_SIZE different between WebGL and Cocoa?
我的WebGL的ALIASED_POINT_SIZE
(在Safari和Chrome中)为33901。
另一方面,在我的本机OpenGL(在Mac / Cocoa上)中,它仅为(1,64)。
为什么两个值不同? 并且没有办法增加gl_PointSize
吗?
您正在查看两个不同的值:
GL_ALIASED_POINT_SIZE_RANGE
的值,该值是用于查询点大小范围的枚举值 。 在本机OpenGL中,您可以使用以下方法查询点的大小范围:
GLint range[2];
glGetIntegerv(GL_ALIASED_POINT_SIZE_RANGE, range);
我没有使用过WebGL,但是根据文档,相应的调用应该是:
gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE)
gl_PointSize
是您在顶点着色器中设置的全局gl_PointSize
,用于设置要栅格化的下一个点的大小。 您可以通过常量(所有点的大小相同),统一(所有点的大小与运行时可以设置的大小相同),属性(每个点都不同)进行设置大小取决于您提供的每点数据),某些方程式等(每个点的大小取决于方程式)。
ALIASED_POINT_SIZE_RANGE
是一个常量值,您可以glGetIntegerv
常量传递给OpenGL中的gl.getParameter
和WebGL中的gl.getParameter
,它们返回GPU /驱动程序支持的点大小范围。
请注意,WebGL和OpenGL ES 2.0仅需要最大点大小为1.0。 这意味着,如果您指望能够渲染大于1像素的点,则需要在某些硬件上找到其他解决方案。 您可以在此页面底部附近看到支持的尺寸 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.