使用 gl_PointSize 来扩大和缩小点

Posted

技术标签:

【中文标题】使用 gl_PointSize 来扩大和缩小点【英文标题】:Point to grow and shrink by using gl_PointSize 【发布时间】:2019-09-14 13:40:37 【问题描述】:

我正在尝试通过使用此功能glPointSize()来扩大和缩小一个点

    float i;
    for (i = 0.0; i < 400.0; i ++) 
        glPointSize(i);
    
    while (i > 0.0) 
        glPointSize(i);
        i--;
    

它只是指向,不知道如何让它移动?

【问题讨论】:

【参考方案1】:

实现对点的大小有限制。 GL_POINT_SIZE_RANGE 可用于获取此限制,但通常会小于 400。较大的点大小将被限制在此范围内。

【讨论】:

...什么“不起作用”?除了保持在点大小的限制范围内,我没有建议您做任何事情。 “for 循环”如何解决这个问题? 我只是想到了,初始化和变量并将其与 400 进行比较。因为它小于 400 会增加点大小。直到它等于 400 然后递减。问题仍然存在。 没有变量。您应该检查的是点大小范围,您可以从 glGetIntegerv 查询(这将返回两个整数)。这不是一个变量;它是 OpenGL 定义的运行时常量。没有什么可以增加的。它代表您可以使用的最大合法磅值。 除非你将循环中的每个点都画在不同的位置,或者开始一个新的帧,否则你只会看到最大的点

以上是关于使用 gl_PointSize 来扩大和缩小点的主要内容,如果未能解决你的问题,请参考以下文章

解决 three.js / webGL 中的 gl_PointSize 限制

gl_PointSize 对应世界空间大小

WebGL着色器绘制一个点

从 GL_POINT 到相机的距离确定 gl_PointSize

如何淡入和淡出小部件(包括缩小/扩大其大小)?

整数转换(缩小,扩大),未定义的行为