gpt4 book ai didi

opengl - 奇怪的 OpenGL 像素缺陷

转载 作者:行者123 更新时间:2023-12-02 10:50:30 27 4
gpt4 key购买 nike

我的一小部分用户 (<1%) 在使用我的游戏的 OpenGL UI 时遇到了奇怪的扭曲。看来我的像素完美投影设置:

glViewport(0, 0, clientSizeWidth, clientSizeHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, clientSizeWidth, clientSizeHeight, 0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
double transAmount = 0.375;
glTranslated(transAmount, transAmount, 0.0);

导致他们的系统出现问题。我未能成功收集有关他们系统的详细信息,但我相信他们可以成功运行类似的 OpenGL 游戏。所以我相信我的代码有问题。

这是一张视觉伪像的图片:

visual artifacts

这是一张没有视觉伪影的图片(忽略操作系统的差异):

without visual artifacts

虽然我的游戏将最终渲染缩放为 2 倍,但它是通过在执行 1 倍渲染后对 glSubTexImage2D 的一次调用来实现的。这意味着第一个屏幕截图中的伪影在像素加倍之前就存在(因此伪影也是像素加倍的)。因此像素加倍本身不可能是问题的根源。

有什么想法可能会导致这种情况吗?我目前没有办法测试。绝大多数用户(包括我自己)都没有体验到视觉伪影。

编辑(4 月 30 日):一位波兰用户告诉我,他/她的显卡遇到了这些问题,并且是“nVidia 9500 GS”。不确定这是否意味着 9500M GS9500 GT ,但两者看起来都相当现代。

最佳答案

有 90% 的可能性是,遇到此问题的用户在其 nVidia 控制面板中将纹理质量开关设置为某些非默认值。在您的情况下, GL_NEAREST 应该有助于避免此类问题(因此它不会平均放大图像的相邻纹理像素)。但首先,请他将 nVidia 控制面板设置设为默认值,以证明或打破该理论。

关于opengl - 奇怪的 OpenGL 像素缺陷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289939/

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