gpt4 book ai didi

c++ - glReadPixels 不更新值

转载 作者:行者123 更新时间:2023-11-30 19:13:09 25 4
gpt4 key购买 nike

当我绘制一个点时,glReadPixels 不会立即更新。

  glColor3f(1.0f, 0.0f, 0.0f);

glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd();
glReadPixels(x, y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, pixel);

printf("after coloring %d %d %d\n", (int)pixel[0], (int)pixel[1] , (int)pixel[2]);

pixel[0]pixel[1]pixel[2] 的值为零,其中预期值为 255, 0, 0。帮我解决这个问题:)

最佳答案

这可能是由于许多问题造成的

  • 模型到 NDC 空间转换未设置为生成从顶点坐标到像素位置的 1:1 映射

  • 您确实尝试设置这样的转换,但由于舍入误差以及 OpenGL 像素中心有点不直观(它们在数学上是有意义的),您的点最终出现在相邻像素中

  • 读取缓冲区未设置为您要绘制的缓冲区(glDrawBuffer、glReadBuffer)

发布您的完整代码,我们可以重现并为您提供进一步帮助。

关于c++ - glReadPixels 不更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835453/

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