fix(model): make default pbr shader clip
This commit is contained in:
@@ -22,8 +22,10 @@ use std::time::Duration;
|
|||||||
use stereokit::input::Handed;
|
use stereokit::input::Handed;
|
||||||
use stereokit::lifecycle::DisplayMode;
|
use stereokit::lifecycle::DisplayMode;
|
||||||
use stereokit::lifecycle::{DepthMode, LogFilter};
|
use stereokit::lifecycle::{DepthMode, LogFilter};
|
||||||
|
use stereokit::material::Material;
|
||||||
use stereokit::render::SphericalHarmonics;
|
use stereokit::render::SphericalHarmonics;
|
||||||
use stereokit::render::StereoKitRender;
|
use stereokit::render::StereoKitRender;
|
||||||
|
use stereokit::shader::Shader;
|
||||||
use stereokit::texture::Texture;
|
use stereokit::texture::Texture;
|
||||||
use stereokit::time::StereoKitTime;
|
use stereokit::time::StereoKitTime;
|
||||||
use tokio::{runtime::Handle, sync::oneshot};
|
use tokio::{runtime::Handle, sync::oneshot};
|
||||||
@@ -93,6 +95,9 @@ fn main() -> Result<()> {
|
|||||||
.expect("StereoKit failed to initialize");
|
.expect("StereoKit failed to initialize");
|
||||||
info!("Init StereoKit");
|
info!("Init StereoKit");
|
||||||
|
|
||||||
|
Material::find(&stereokit, "default/material_pbr")?
|
||||||
|
.set_shader(Shader::from_name(&stereokit, "default/shader_pbr_clip")?);
|
||||||
|
|
||||||
// Skytex/light stuff
|
// Skytex/light stuff
|
||||||
{
|
{
|
||||||
if let Some((tex, light)) = project_dirs
|
if let Some((tex, light)) = project_dirs
|
||||||
|
|||||||
@@ -194,13 +194,7 @@ impl Model {
|
|||||||
.sk_model
|
.sk_model
|
||||||
.get_or_try_init(|| -> color_eyre::eyre::Result<SendWrapper<SKModel>> {
|
.get_or_try_init(|| -> color_eyre::eyre::Result<SendWrapper<SKModel>> {
|
||||||
let pending_model_path = self.pending_model_path.get().ok_or(Error)?;
|
let pending_model_path = self.pending_model_path.get().ok_or(Error)?;
|
||||||
let model = SKModel::from_file(
|
let model = SKModel::from_file(sk, pending_model_path.as_path(), None)?;
|
||||||
sk,
|
|
||||||
pending_model_path.as_path(),
|
|
||||||
Shader::from_file(sk, "default/shader_pbr_clip")
|
|
||||||
.ok()
|
|
||||||
.as_ref(),
|
|
||||||
)?;
|
|
||||||
|
|
||||||
Ok(SendWrapper::new(model.clone()))
|
Ok(SendWrapper::new(model.clone()))
|
||||||
})
|
})
|
||||||
@@ -210,7 +204,9 @@ impl Model {
|
|||||||
{
|
{
|
||||||
let mut material_replacements = self.pending_material_replacements.lock();
|
let mut material_replacements = self.pending_material_replacements.lock();
|
||||||
for (material_idx, replacement_material) in material_replacements.iter() {
|
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();
|
material_replacements.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user