From 0a4a448ac9d41372ad172beb8ac0742d883ccc0f Mon Sep 17 00:00:00 2001 From: Nova Date: Mon, 5 Sep 2022 12:32:59 -0400 Subject: [PATCH] refactor(surface): use 1 static for shader --- src/wayland/shaders/mod.rs | 7 +++++-- src/wayland/surface.rs | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/wayland/shaders/mod.rs b/src/wayland/shaders/mod.rs index 3630c10..5acd8e7 100644 --- a/src/wayland/shaders/mod.rs +++ b/src/wayland/shaders/mod.rs @@ -1,4 +1,7 @@ #![allow(dead_code)] -pub const GAMMA_SHADER_BYTES: &[u8] = include_bytes!("shader_unlit_gamma.sks"); -pub const SIMULA_SHADER_BYTES: &[u8] = include_bytes!("shader_unlit_simula.sks"); +// Basic gamma correction shader +pub const PANEL_SHADER_BYTES: &[u8] = include_bytes!("shader_unlit_gamma.sks"); + +// Simula shader with fancy lanzcos sampling +// pub const PANEL_SHADER_BYTES: &[u8] = include_bytes!("shader_unlit_simula.sks"); diff --git a/src/wayland/surface.rs b/src/wayland/surface.rs index 71a22fc..ebdc44b 100644 --- a/src/wayland/surface.rs +++ b/src/wayland/surface.rs @@ -13,7 +13,7 @@ use smithay::{ wayland::compositor::SurfaceData, }; use stereokit::{ - material::Material, + material::{Material, Transparency}, shader::Shader, texture::{Texture as SKTexture, TextureAddress, TextureFormat, TextureSample, TextureType}, StereoKit, @@ -21,7 +21,7 @@ use stereokit::{ use crate::core::destroy_queue; -use super::shaders::SIMULA_SHADER_BYTES; +use super::shaders::PANEL_SHADER_BYTES; pub struct CoreSurface { pub wl_tex: Mutex>>, @@ -50,11 +50,12 @@ impl CoreSurface { let sk_mat = self .sk_mat .get_or_try_init(|| { - let shader = Shader::from_mem(sk, SIMULA_SHADER_BYTES).unwrap(); + let shader = Shader::from_mem(sk, PANEL_SHADER_BYTES).unwrap(); Material::create(sk, &shader) .ok_or(Error) .map(|mat| { mat.set_parameter("diffuse", &**self.sk_tex.get().unwrap()); + mat.set_transparency(Transparency::Blend); mat }) .map(|mat| Arc::new(SendWrapper::new(mat)))