6

マルチサンプリングを使用して SDL FSAA を動作させようとしましたが、動作しません。

私は簡単なことから始めました:

SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 2);

しかし、関連する get を実行すると、バッファーの場合は 0 が返され、サンプルの場合は 1 が返されます。(SetVideo の前後の両方)。

GeForce 280M の両方で試してみましたが、モバイルの問題ではないかと疑って、580 でも試してみましたが、うまくいきませんでした。

最新のドライバーで Windows 7 を実行しています。

NVidia コントロール パネルで FSAA を強制的にオンにすると、うまく機能しますが、アプリケーションでそれを有効にすることができないようです。

何か案は?

4

1 に答える 1

1

これらの関数は 0 または -1 を返す必要があります。それらは決して 1 を返すべきではありません。. . そこで何が起こっているのかわかりません。それらは他の関数の戻り値ですか?

いずれにせよ、これらはリクエストであることに注意することが重要です。それらがあなたが思っているとおりであるという保証はありません。SDL_GL_GetAttribute 関数が存在するのはそのためです (何が得られたかを確認するには、AFTER SDL_SetVideoMode を呼び出します)。

ピクセルごとに 2 つのサンプルを持つマルチサンプリング バッファーを要求しています。これは、マルチサンプリングの量が非常に多いわけではありません。SDL_SetVideoMode の前に、次のことを試してください。

SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES,16);

滑らかなエッジが表示されても、心配する必要はありません。

于 2012-02-16T19:41:22.023 に答える