fix(model): make default pbr shader clip

This commit is contained in:
Nova
2023-02-20 18:03:02 -05:00
parent b0dbccbd18
commit 8d65e304cb
2 changed files with 9 additions and 8 deletions

View File

@@ -22,8 +22,10 @@ use std::time::Duration;
use stereokit::input::Handed;
use stereokit::lifecycle::DisplayMode;
use stereokit::lifecycle::{DepthMode, LogFilter};
use stereokit::material::Material;
use stereokit::render::SphericalHarmonics;
use stereokit::render::StereoKitRender;
use stereokit::shader::Shader;
use stereokit::texture::Texture;
use stereokit::time::StereoKitTime;
use tokio::{runtime::Handle, sync::oneshot};
@@ -93,6 +95,9 @@ fn main() -> Result<()> {
.expect("StereoKit failed to initialize");
info!("Init StereoKit");
Material::find(&stereokit, "default/material_pbr")?
.set_shader(Shader::from_name(&stereokit, "default/shader_pbr_clip")?);
// Skytex/light stuff
{
if let Some((tex, light)) = project_dirs

View File

@@ -194,13 +194,7 @@ impl Model {
.sk_model
.get_or_try_init(|| -> color_eyre::eyre::Result<SendWrapper<SKModel>> {
let pending_model_path = self.pending_model_path.get().ok_or(Error)?;
let model = SKModel::from_file(
sk,
pending_model_path.as_path(),
Shader::from_file(sk, "default/shader_pbr_clip")
.ok()
.as_ref(),
)?;
let model = SKModel::from_file(sk, pending_model_path.as_path(), None)?;
Ok(SendWrapper::new(model.clone()))
})
@@ -210,7 +204,9 @@ impl Model {
{
let mut material_replacements = self.pending_material_replacements.lock();
for (material_idx, replacement_material) in material_replacements.iter() {
sk_model.set_material(sk, *material_idx as i32, replacement_material);
if sk_model.get_material(sk, *material_idx as i32).is_some() {
sk_model.set_material(sk, *material_idx as i32, replacement_material);
}
}
material_replacements.clear();
}