From b908e8667e51a50365c43758b7da8b7d12f41933 Mon Sep 17 00:00:00 2001 From: ice_iix Date: Sat, 26 Dec 2020 20:25:24 -0800 Subject: [PATCH] Try disabling multisampling again --- src/render/mod.rs | 50 +++++++++++++----------------- src/render/shaders/trans_frag.glsl | 9 +----- 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/src/render/mod.rs b/src/render/mod.rs index 89efe83..178d45a 100644 --- a/src/render/mod.rs +++ b/src/render/mod.rs @@ -39,9 +39,6 @@ use std::thread; const ATLAS_SIZE: usize = 1024; -// TEMP -const NUM_SAMPLES: i32 = 2; - pub struct Camera { pub pos: cgmath::Point3, pub yaw: f64, @@ -775,7 +772,6 @@ init_shader! { required accum => "taccum", required revealage => "trevealage", required color => "tcolor", - required samples => "samples", }, } } @@ -848,38 +844,35 @@ impl TransInfo { main.bind(); let fb_color = gl::Texture::new(); - fb_color.bind(gl::TEXTURE_2D_MULTISAMPLE); - fb_color.image_2d_sample( - gl::TEXTURE_2D_MULTISAMPLE, - NUM_SAMPLES, + fb_color.bind(gl::TEXTURE_2D); + fb_color.image_2d( + gl::TEXTURE_2D, + 0, width, height, - gl::RGBA8, - false, - ); - main.texture_2d( - gl::COLOR_ATTACHMENT_0, - gl::TEXTURE_2D_MULTISAMPLE, - &fb_color, - 0, + 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); + 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_MULTISAMPLE); - fb_depth.image_2d_sample( - gl::TEXTURE_2D_MULTISAMPLE, - NUM_SAMPLES, + fb_depth.bind(gl::TEXTURE_2D); + fb_depth.image_2d( + gl::TEXTURE_2D, + 0, width, height, - gl::DEPTH_COMPONENT24, - false, - ); - main.texture_2d( - gl::DEPTH_ATTACHMENT, - gl::TEXTURE_2D_MULTISAMPLE, - &fb_depth, - 0, + gl::DEPTH_COMPONENT, + gl::FLOAT, + None, ); + fb_depth.set_parameter(gl::TEXTURE_2D, gl::TEXTURE_MIN_FILTER, gl::LINEAR); + fb_depth.set_parameter(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::LINEAR); + + main.texture_2d(gl::DEPTH_ATTACHMENT, gl::TEXTURE_2D, &fb_depth, 0); gl::check_framebuffer_status(); gl::unbind_framebuffer(); @@ -929,7 +922,6 @@ impl TransInfo { shader.accum.set_int(0); shader.revealage.set_int(1); shader.color.set_int(2); - shader.samples.set_int(NUM_SAMPLES); self.array.bind(); gl::draw_arrays(gl::TRIANGLES, 0, 6); } diff --git a/src/render/shaders/trans_frag.glsl b/src/render/shaders/trans_frag.glsl index 123e4c3..a5ac90d 100644 --- a/src/render/shaders/trans_frag.glsl +++ b/src/render/shaders/trans_frag.glsl @@ -1,8 +1,6 @@ uniform sampler2D taccum; uniform sampler2D trevealage; -uniform sampler2DMS tcolor; - -uniform int samples; +uniform sampler2D tcolor; out vec4 fragColor; @@ -12,11 +10,6 @@ void main() { float aa = texelFetch(trevealage, C, 0).r; vec4 col = texelFetch(tcolor, C, 0); - for (int i = 1; i < samples; i++) { - col += texelFetch(tcolor, C, i); - } - col /= float(samples); - float r = accum.a; accum.a = aa; if (r >= 1.0) {