From f720ddcd230323c282273fa00c062ca2fd8903d7 Mon Sep 17 00:00:00 2001 From: _ <_@_> Date: Wed, 22 Dec 2021 02:32:52 +0000 Subject: [PATCH] fix up shaders and stuff like that --- crate.png | Bin 1928 -> 1976 bytes shaders/pumpkin-frag.glsl | 4 +-- src/bin/platformer/graphics.rs | 50 ++++----------------------------- src/bin/platformer/main.rs | 4 +-- white.png | Bin 0 -> 518 bytes 5 files changed, 9 insertions(+), 49 deletions(-) create mode 100644 white.png diff --git a/crate.png b/crate.png index 32838aeb940b66425214d2d4d0781d2758cbccbb..079292f76185a8f5d01ad7c65340bb5a829a4e62 100644 GIT binary patch delta 1499 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 KMNUMnLSTYs{J9$d diff --git a/shaders/pumpkin-frag.glsl b/shaders/pumpkin-frag.glsl index bb956fa..ded6f1a 100644 --- a/shaders/pumpkin-frag.glsl +++ b/shaders/pumpkin-frag.glsl @@ -15,7 +15,7 @@ varying lowp vec3 vary_object_space_sky; void main (void) { lowp vec3 normal = normalize (vary_normal); - lowp vec3 albedo = vary_color * max (uni_min_albedo, texture2D (uni_texture, vary_uv).rgb); + lowp vec3 albedo = max (uni_min_albedo, texture2D (uni_texture, vary_uv).rgb); lowp vec3 sky_color = pow (vec3 (89.0, 125.0, 206.0) / vec3 (255.0), vec3 (2.0)); @@ -26,5 +26,5 @@ void main (void) { lowp vec3 sky = (sky_factor * 0.5 + 0.5) * sky_color; lowp vec3 diffuse_color = max (uni_min_bright, (sun + sky)); - gl_FragColor = vec4 (albedo * sqrt (diffuse_color), 1.0); + gl_FragColor = vec4 (albedo * sqrt (vary_color * diffuse_color), 1.0); } diff --git a/src/bin/platformer/graphics.rs b/src/bin/platformer/graphics.rs index ca877c0..8a3b050 100644 --- a/src/bin/platformer/graphics.rs +++ b/src/bin/platformer/graphics.rs @@ -51,6 +51,7 @@ pub struct Graphics { texture_crate: Texture, texture_earth: Texture, texture_sky: Texture, + texture_white: Texture, pub frames: u64, } @@ -156,6 +157,7 @@ impl Graphics { texture_crate: Texture::from_file ("crate.png"), texture_earth: Texture::from_file ("earth.png"), texture_sky: Texture::from_file ("sky.png"), + texture_white: Texture::from_file ("white.png"), frames: 0, } } @@ -171,7 +173,7 @@ impl Graphics { let white = color_from_255 ((255.0, 255.0, 255.0)); let black = color_from_255 ((0.0, 0.0, 0.0)); - let shadow_blue = color_from_255 ((0.0, 0.0, 0.25)); + let shadow_blue = color_from_255 ((68.0, 36.0, 52.0)); let screen_size = (320.0, 240.0); @@ -211,24 +213,6 @@ impl Graphics { self.texture_crate.bind (); glezz::uniform_3fv (unis [&u::ALBEDO], &white); - if false { - for aabb in &state.aabbs { - let min = aabb.min; - let max = aabb.max; - let center = (min + max) / 2.0; - let scale = (max - min) / 2.0; - - let mvp = view_mat * - Mat4::from_translation (center) * - Mat4::from_scale (scale); - glezz::uniform_matrix_4fv (unis [&u::MVP], &mvp); - - self.mesh_cube.draw_all (attrs, |_| { - true - }); - } - } - if true { use opengl_rust::renderable_model::attributes as a; @@ -318,6 +302,8 @@ impl Graphics { 0.0 ); + self.texture_white.bind (); + if coll.t <= 1.0 { let mvp = view_mat * Mat4::from_translation (coll.p_impact + Vec3::new (0.0, 0.0, 0.0625)) * @@ -328,32 +314,6 @@ impl Graphics { true }); } - - for aabb in &state.aabbs { - // Raycast for box shadows - let min = aabb.min; - let max = aabb.max; - let center = (min + max) / 2.0; - let scale = (max - min) / 2.0; - - let coll = opengl_rust::physics::get_candidate ( - &[], &state.aabbs, - center, - center + Vec3::new (0.0, 0.0, -100.0), - 0.0 - ); - - if coll.t <= 1.0 { - let mvp = view_mat * - Mat4::from_translation (coll.p_impact + Vec3::new (0.0, 0.0, 0.0625)) * - Mat4::from_scale ((scale.x, scale.y, 0.0).into ()); - glezz::uniform_matrix_4fv (unis [&u::MVP], &mvp); - - self.mesh_cube.draw_all (attrs, |_| { - true - }); - } - } } if false { diff --git a/src/bin/platformer/main.rs b/src/bin/platformer/main.rs index efa31a5..602daab 100644 --- a/src/bin/platformer/main.rs +++ b/src/bin/platformer/main.rs @@ -260,7 +260,7 @@ async fn main () -> Result <()> { game_state.player.vel = new_vel_2; game_state.player.vel.z = old_vel.z; - dbg! (game_state.player.vel); + // dbg! (game_state.player.vel); if player_wants_to_jump { if let Some (normal) = player_jump_vec.clone () { @@ -292,7 +292,7 @@ async fn main () -> Result <()> { }); } - // dbg! (player_jump_vec); + dbg! (game_state.player.pos); window.gl_make_current (&gl_ctx).unwrap (); diff --git a/white.png b/white.png new file mode 100644 index 0000000000000000000000000000000000000000..fc3928f2599e2401303b178cc6e5ecae98cf5686 GIT binary patch literal 518 zcmV+h0{Q)kP)EX>4Tx04R}tkv&MmKpe$iQ>7vm1v`j1WN4jQ5EXIMDionYs1;guFuC*#ni!H4 z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HIN3n$4LKlt6PRh$_2lEO)#`^9lSVnApYXx1I)``B@sCqVESxYFDHjRr9NNqW7l zMUQ~~ZQ$a%ttorJ