繁体   English   中英

为什么WebGL和Cocoa之间的GL_ALIASED_POINT_SIZE不同?

[英]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吗?

您正在查看两个不同的值:

  • 33901(或十六进制的0x846d)是GL_ALIASED_POINT_SIZE_RANGE的值,该值是用于查询点大小范围的枚举值
  • (1,64)必须是您已经查询的点大小范围。

在本机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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM