如何使多重采样一个函数库和二进制文载的程序?
-
09-06-2019 - |
解决方案
我终于有多重采样工作与我的个函数库和二进制文载程序。这是一个有点凌乱的权利,但如下:
个函数库和二进制文 没有 多重采样 支持他们 稳定稿 现在(最新版本在这个时候是 2.8.8).但是,它可作为一个补丁和也通过他们的日常快照。(后者是令人鼓舞,因为它意味着修补程序已经接受,并应该出现在以后的稳定稿,如果没有问题。)
因此,有2个选择:
我找到的第2个选项是小麻烦,因为我不想打扰我工作的安装尽可能多的。如果你不知道如何贴在窗户,看到 此.
至少,对于Windows,修补程序将修改如下文件:
$(WX_WIDGETS_ROOT)/include/wx/glcanvas.h
$(WX_WIDGETS_ROOT)/include/wx/msw/glcanvas.h
$(WX_WIDGETS_ROOT)/src/msw/glcanvas.cpp
后修补 重新编译 这个函数库和二进制文库。
为使多重采样在你的个函数库和二进制文载的程序,小的改动代码是必需的。
一个属性,列出需要传递的 wxGLCanvas 构造:
int attribList[] = {WX_GL_RGBA,
WX_GL_DOUBLEBUFFER,
WX_GL_SAMPLE_BUFFERS, GL_TRUE, // Multi-sampling
WX_GL_DEPTH_SIZE, 16,
0, 0};
如果你已经使用的一个属性清单,然后添加符合 GL_SAMPLE_BUFFERS, GL_TRUE
给它。还有,添加这一属性列表中的定义,以你的代码。
然后修改wxGLCanvas构造采取这种属性清单作为一个参数:
myGLFrame::myGLFrame // Derived from wxGLCanvas
(
wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name
)
: wxGLCanvas(parent, (wxGLCanvas*) NULL, id, pos, size, style, name, attribList)
{
// ...
}
后wxGLCanvas元创建的,多重采样是通过默认。对禁用或使它在将使用载有关呼吁:
glEnable(GL_MULTISAMPLE);
glDisable(GL_MULTISAMPLE);
多重采样应该现在的工作与个函数库和二进制文载程序。我们希望,它应该支持在稳定释放的一个函数库和二进制文很快,使得这种信息无关紧要:-)
不隶属于 StackOverflow