feat: update stereokit

This commit is contained in:
Nova
2023-01-04 23:51:48 -05:00
parent 3f08e1e212
commit 3cf65e5c7b
12 changed files with 67 additions and 80 deletions

View File

@@ -15,6 +15,7 @@ use color_eyre::eyre::{ensure, Result};
use global_counter::primitive::exact::CounterU32;
use once_cell::sync::OnceCell;
use parking_lot::Mutex;
use sk::lifecycle::StereoKitDraw;
use slog::Drain;
use smithay::{
backend::{egl::EGLContext, renderer::gles2::Gles2Renderer},
@@ -27,7 +28,6 @@ use std::{
sync::Arc,
};
use stereokit as sk;
use stereokit::StereoKit;
use tokio::{
io::unix::AsyncFd, net::UnixListener as AsyncUnixListener, sync::mpsc, task::JoinHandle,
};
@@ -148,7 +148,7 @@ impl Wayland {
}))
}
pub fn frame(&mut self, sk: &StereoKit) {
pub fn frame(&mut self, sk: &StereoKitDraw) {
for core_surface in CORE_SURFACES.get_valid_contents() {
let state = self.state.lock();
let output = state.output.clone();

View File

@@ -26,10 +26,11 @@ use std::{
time::Duration,
};
use stereokit::{
lifecycle::StereoKitDraw,
material::{Material, Transparency},
shader::Shader,
texture::{Texture as SKTexture, TextureAddress, TextureFormat, TextureSample, TextureType},
StereoKit,
time::StereoKitTime,
};
pub static CORE_SURFACES: Registry<CoreSurface> = Registry::new();
@@ -104,7 +105,7 @@ impl CoreSurface {
pub fn process(
&self,
sk: &StereoKit,
sk: &StereoKitDraw,
renderer: &mut Gles2Renderer,
output: Output,
log: &Logger,
@@ -119,8 +120,8 @@ impl CoreSurface {
self.sk_mat.get_or_init(|| {
let shader = Shader::from_mem(sk, PANEL_SHADER_BYTES).unwrap();
let mat = Material::create(sk, &shader).unwrap();
mat.set_parameter("diffuse", &**sk_tex);
mat.set_transparency(Transparency::Blend);
mat.set_parameter(sk, "diffuse", &**sk_tex);
mat.set_transparency(sk, Transparency::Blend);
Arc::new(SendWrapper::new(mat))
});
@@ -171,7 +172,7 @@ impl CoreSurface {
sk_tex.set_address_mode(TextureAddress::Clamp);
}
if let Some(material_offset) = self.material_offset.lock().delta() {
sk_mat.set_queue_offset(*material_offset as i32);
sk_mat.set_queue_offset(sk, *material_offset as i32);
}
// if let Some(geometry) = self.geometry.lock().delta().cloned().unwrap_or_default() {
// let buffer_size = renderer_surface_state.buffer_size().unwrap();