OpenGL MSAA多采样中的蒙版(stencil)使用
来源:互联网 发布:苹果壁纸软件下载 编辑:程序博客网 时间:2024/05/18 10:19
在OpenGL中进行MSAA多采样时,需要进行如下设置FBO
glGenFramebuffers(1, &mfbo);glBindFramebuffer(GL_FRAMEBUFFER, mfbo);//create color render bufferglGenRenderbuffers(1, &colorBuffer);glBindRenderbuffer(GL_RENDERBUFFER, colorBuffer);glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4 /* 4 samples */, GL_RGBA8, width, height);glBindRenderbuffer(GL_RENDERBUFFER, 0);glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorBuffer);// multi sampled depth bufferglGenRenderbuffers(1, &depthBuffer);glBindRenderbuffer(GL_RENDERBUFFER, depthBuffer);glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4 /* 4 samples */, GL_RGBA8, width, height);glBindRenderbuffer(GL_RENDERBUFFER, 0);glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthBuffer);GLenum result = glCheckFramebufferStatus(GL_FRAMEBUFFER);if (result == GL_FRAMEBUFFER_COMPLETE) {isMultiFBODone = true;}else {isMultiFBODone = false;}glBindFramebuffer(GL_FRAMEBUFFER, 0);
如果程序中还需要使用蒙版缓冲(stencil buffer),则需要将此FBO设置为如下格式:
glGenFramebuffers(1, &mfbo);glBindFramebuffer(GL_FRAMEBUFFER, mfbo);//create color render bufferglGenRenderbuffers(1, &colorBuffer);glBindRenderbuffer(GL_RENDERBUFFER, colorBuffer);glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4 /* 4 samples */, GL_RGBA8, width, height);glBindRenderbuffer(GL_RENDERBUFFER, 0);glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorBuffer);// multi sampled depth bufferglGenRenderbuffers(1, &depthBuffer);glBindRenderbuffer(GL_RENDERBUFFER, depthBuffer);glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4 /* 4 samples */, GL_DEPTH24_STENCIL8, width, height);glBindRenderbuffer(GL_RENDERBUFFER, 0);glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, depthBuffer);GLenum result = glCheckFramebufferStatus(GL_FRAMEBUFFER);if (result == GL_FRAMEBUFFER_COMPLETE) {isMultiFBODone = true;}else {isMultiFBODone = false;}glBindFramebuffer(GL_FRAMEBUFFER, 0);
然后在根据需要写关于蒙版的代码即可
阅读全文
0 0
- OpenGL MSAA多采样中的蒙版(stencil)使用
- opengl stencil buffer使用
- OpenGL中的多重采样
- OpenGL中的多重采样
- 蒙版缓存(Stencil buffer)
- OpenGL MSAA修饰词
- OpenGL.Stencil Buffer
- opengl stencil buffer
- OpenGL.Stencil Buffer
- FBO中多重采样抗锯齿(MSAA:MultiSampling Anti-Aliasing)
- FBO中多重采样抗锯齿(MSAA:MultiSampling Anti-Aliasing)
- OpenGL Depth and Stencil Test
- 【OpenGL】使用随机采样实现soft shadow
- MSAA --> UIA (转)
- OpenGL学习脚印:模板测试(stencil testing)
- Stencil中的向量化问题
- Stencil Buffer(模板缓冲区)
- Stencil Buffer(模板缓冲区)
- 求一个数是否是另一个数的n次方幂、一个数是否是2的n次方幂
- js的内部类和系统函数
- axios拦截
- 字符数组
- 1108: 打印数字图形(函数专题)
- OpenGL MSAA多采样中的蒙版(stencil)使用
- PCB线宽和电流关系公式?
- ###hibernate的load()懒加载报错:LazyInitializationException: could not initialize proxy -no Session
- Android获取包名下的所有文件
- Okhttp+RecyclerView组合(可用)
- Java面试问题列表
- 在.net中序列化读写xml方法的总结
- 进程学习:初见进程
- Java基础之构造函数