Change fb_color to a Renderbuffer (was a Texture)

This commit is contained in:
ice_iix 2020-12-27 11:57:29 -08:00
parent d0cd81fbf9
commit 15fc418501
2 changed files with 11 additions and 17 deletions

View File

@ -902,7 +902,7 @@ impl Framebuffer {
}
}
pub fn renderbuffer(&self, attachment: Attachment, rb: Renderbuffer) {
pub fn renderbuffer(&self, attachment: Attachment, rb: &Renderbuffer) {
unsafe {
glow_context().framebuffer_renderbuffer(
gl::FRAMEBUFFER,

View File

@ -760,7 +760,7 @@ impl Renderer {
struct TransInfo {
main: gl::Framebuffer,
fb_color: gl::Texture,
fb_color: gl::Renderbuffer,
_fb_depth: gl::Texture,
trans: gl::Framebuffer,
accum: gl::Texture,
@ -855,21 +855,15 @@ impl TransInfo {
// TODO: support rendering to a multisample renderbuffer for MSAA, using glRenderbufferStorageMultisample
// https://github.com/iceiix/stevenarella/pull/442
let fb_color = gl::Texture::new();
fb_color.bind(gl::TEXTURE_2D);
fb_color.image_2d(
gl::TEXTURE_2D,
0,
width,
height,
gl::RGBA,
gl::UNSIGNED_BYTE,
None,
);
fb_color.set_parameter(gl::TEXTURE_2D, gl::TEXTURE_MIN_FILTER, gl::LINEAR);
fb_color.set_parameter(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::LINEAR);
let fb_color = gl::Renderbuffer::new();
fb_color.bind();
fb_color.storage(width, height, gl::RGBA8);
//fb_color.set_parameter(gl::TEXTURE_2D, gl::TEXTURE_MIN_FILTER, gl::LINEAR);
//fb_color.set_parameter(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::LINEAR);
//main.texture_2d(gl::COLOR_ATTACHMENT_0, gl::TEXTURE_2D, &fb_color, 0);
main.renderbuffer(gl::COLOR_ATTACHMENT_0, &fb_color);
main.texture_2d(gl::COLOR_ATTACHMENT_0, gl::TEXTURE_2D, &fb_color, 0);
let fb_depth = gl::Texture::new();
fb_depth.bind(gl::TEXTURE_2D);
fb_depth.image_2d_ex(
@ -929,7 +923,7 @@ impl TransInfo {
gl::active_texture(1);
self.revealage.bind(gl::TEXTURE_2D);
gl::active_texture(2);
self.fb_color.bind(gl::TEXTURE_2D);
self.fb_color.bind();
shader.program.use_program();
shader.accum.set_int(0);