gpt4 book ai didi

iphone - glPointSizePointerOES 和 glScalef

转载 作者:行者123 更新时间:2023-12-03 19:42:37 26 4
gpt4 key购买 nike

我使用点 Sprite 来显示数万个点,每个点都有不同的大小。它运行良好,看起来很棒并且速度相当快。我使用的是 VBO,其中包含坐标和大小(每点 4 个 float )。

这是我的显示代码

glEnable(GL_POINT_SPRITE_OES);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, pointTexture);
glTexEnvi( GL_POINT_SPRITE_OES, GL_COORD_REPLACE_OES, GL_TRUE );
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, pointVertices);
glVertexPointer(3, GL_FLOAT, 4*sizeof(float), 0);
glEnableClientState(GL_POINT_SIZE_ARRAY_OES);
glPointSizePointerOES(GL_FLOAT,4*sizeof(float),(GLvoid*) (sizeof(GL_FLOAT)*3));
glDrawArrays(GL_POINTS, 0, pointNum);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glDisableClientState(GL_POINT_SIZE_ARRAY_OES);
glDisableClientState(GL_VERTEX_ARRAY);
glDisable(GL_TEXTURE_2D);
glDisable(GL_POINT_SPRITE_OES);

现在,我还希望能够放大,即使用 glScalef。是否可以在不更新 VBO 的情况下相应地更改点的大小? glPointSize 没有任何效果,因为我使用的是 GL_POINT_SIZE_ARRAY_OES

最佳答案

是的,将 glPointParameter 与 GL_POINT_DISTANCE_ATTENUATION 参数一起使用。

http://www.khronos.org/opengles/sdk/1.1/docs/man/glPointParameter.xml

不过,要做到正确是相当棘手的。

关于iphone - glPointSizePointerOES 和 glScalef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3564253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com