gpt4 book ai didi

ios - GLKit 不绘制 GL_POINTS 或 GL_LINES

转载 作者:行者123 更新时间:2023-11-29 13:01:44 24 4
gpt4 key购买 nike

我正在努力开发一款仅使用程序生成的线条绘制的新 iOS 游戏。除了绘制一些图元时出现一些奇怪的问题外,一切都运行良好。

我正处于需要实现文本的位置,字符被设置为数组中的一系列点。当我去绘制点(CGPoints)时,一些绘图模式很有趣。

    effect.transform.modelviewMatrix = matrix;
[effect prepareToDraw];
glEnableVertexAttribArray(GLKVertexAttribPosition);
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, 0, 0, &points);
glDrawArrays(GL_POINTS, 0, ccc);

我正在使用这段代码从数组中绘制,当模式设置为 GL_LINE_LOOP 或 GL_LINE_STRIP 时一切正常。但是,如果我将其设置为 GL_POINTS,则会出现 gpus_ReturnGuiltyForHardwareRestert 错误。如果我尝试 GL_LINES,它不会绘制任何东西。

可能发生了什么?

最佳答案

当你在 ES2 或 ES3 中使用 GL_POINTS 绘制时,你需要在顶点着色器中指定 gl_PointSize 否则你会得到未定义的行为(充其量在设备上呈现丑陋,最坏的情况是你看到的崩溃)。 GLKBaseEffect 使用的顶点着色器不执行 gl_PointSize,因此您不能将它与 GL_POINTS 一起使用。您需要实现自己的着色器。 (作为起点,尝试在创建新 Xcode 项目时获得的“OpenGL 游戏”模板中的模板,或使用 Xcode Frame Debugger 查看 GLKBaseEffect 生成的 GLSL。)

只要您在客户端代码中使用 glLineWidth() 设置适当的宽度,

GL_LINES 就应该可以正常工作。

关于ios - GLKit 不绘制 GL_POINTS 或 GL_LINES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614939/

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