Cha*_*ing 5 opengl multisampling sdl antialiasing
我一直在尝试使用多重采样工作的SDL FSAA,但它不想这样做.
我从简单的开始:
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS,1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES,2);
但我做了相关的获取,它为缓冲区返回0,为样本返回1.(在SetVideo之前和之后).
我在我的GeForce 280M上都试过了,怀疑它是一个移动问题,在我的580上尝试过它也没有运气.
我正在运行带有最新驱动程序的Windows 7.
如果我在NVidia控制面板中强制启用FSAA,它可以很好地工作,但我似乎无法让应用程序启用它.
有任何想法吗?
这些函数应该返回 0 或 -1。他们永远不应该返回 1 。。。所以我不知道那里发生了什么。这些返回值是其他函数的吗?
无论如何,重要的是要注意这些都是请求。无法保证它们就是您所认为的那样。这就是 SDL_GL_GetAttribute 函数存在的原因(在 SDL_SetVideoMode 之后调用它以查看您得到的内容)。
您请求一个多重采样缓冲区,每个像素有两个样本。这并不是一个非常大的多重采样量。在 SDL_SetVideoMode 之前,请尝试以下操作:
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES,16);
Run Code Online (Sandbox Code Playgroud)
如果您看到平滑的边缘,请不要担心。
| 归档时间: |
|
| 查看次数: |
3155 次 |
| 最近记录: |