9

ユーザーのごく一部 (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 ゲームをうまく実行できると信じています。したがって、私のコードに問題があると思います。

視覚的なアーティファクトの写真を次に示します。

視覚的なアーティファクト

そして、これは視覚的なアーティファクトのない写真です(OSの違いは無視してください):

視覚的なアーティファクトなし

glSubTexImage2D私のゲームは最終的なレンダリングを 2 倍にスケーリングしますが、1 倍のレンダリングが実行された後にを 1 回呼び出すことでそれを行います。これは、最初のスクリーンショットのアーティファクトが、ピクセルが 2 倍になる前に存在していたことを意味します (したがって、アーティファクトもピクセルが 2 倍になる理由)。したがって、ピクセルの倍増自体が問題の原因になることはありません。

これを引き起こす原因について何か考えはありますか?私は現在、テストする方法がありません。圧倒的多数のユーザー (私自身を含む) は、視覚的なアーティファクトを経験していません。

編集 (4 月 30 日) : ポーランドのユーザーから、自分のビデオカードでこれらのアーティファクトが発生し、「nVidia 9500 GS」であることが通知されました。これが9500M GSなのか9500 GTなのかは定かではありませんが、どちらもかなりモダンに見えます。

4

1 に答える 1

6

90% の確率で、この問題が発生しているユーザーは、nVidia コントロール パネルのテクスチャ品質スイッチがデフォルト以外の値になっている可能性があります。あなたの場合、GL_NEAREST はそのような問題を回避するのに役立ちます (アップスケールされた画像の隣接テクセルを平均化することはありません)。ただし、最初に、理論を証明または破るために、nVidia コントロール パネルの設定をデフォルトに設定するように彼に依頼してください。

于 2013-07-03T16:48:42.177 に答える