From c0898600fd5f0db11b02056fa3dc14414aee47e5 Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 5 Nov 2026 12:09:21 +0100 Subject: refactor(engine): make dear imgui init create shader program itself --- engine/src/ui/dear_imgui.rs | 145 +++++++++++++++++++++----------------------- 1 file changed, 69 insertions(+), 76 deletions(-) (limited to 'engine/src') diff --git a/engine/src/ui/dear_imgui.rs b/engine/src/ui/dear_imgui.rs index 7822c2f..b8a2b35 100644 --- a/engine/src/ui/dear_imgui.rs +++ b/engine/src/ui/dear_imgui.rs @@ -1,7 +1,6 @@ use std::collections::HashMap; use std::path::{Path, PathBuf}; use std::sync::atomic::{AtomicU64, Ordering}; -use std::sync::LazyLock; use dear_imgui_rs::{ DrawCmd as ImguiDrawCmd, @@ -21,7 +20,6 @@ use ecs::time::Time; use ecs::{Component, Query, Sole}; use intmap::IntMap; -use crate::asset::{Assets, Handle as AssetHandle, Label as AssetLabel}; use crate::data_types::dimens::Dimens; use crate::input::keyboard::{Key, Keyboard}; use crate::input::mouse::{Button as MouseButton, Buttons as MouseButtons, Mouse}; @@ -42,7 +40,7 @@ use crate::rendering::blending::{ Equation as RenderingBlendingEquation, Factor as RenderingBlendingFactor, }; -use crate::rendering::object::Id as RenderingObjectId; +use crate::rendering::object::{Id as RenderingObjectId, Store as RenderingObjectStore}; use crate::rendering::shader::cursor::{ BindingTextureKind as ShaderBindingTextureKind, BindingValue as ShaderBindingValue, @@ -52,6 +50,7 @@ use crate::rendering::shader::{ Context as ShaderContext, EntrypointFlags as ShaderEntrypointFlags, ModuleSource as ShaderModuleSource, + Program as ShaderProgram, }; use crate::rendering::{ AssetOrValue, @@ -84,11 +83,6 @@ mod reexports pub use reexports::*; -pub static SHADER_ASSET_LABEL: LazyLock = LazyLock::new(|| AssetLabel { - path: Path::new("").into(), - name: Some("imgui_shader".into()), -}); - /// Dear Imgui context #[derive(Sole)] pub struct Context @@ -241,9 +235,9 @@ fn update( target_window_query: Query<(&Window, &Surface, With)>, mut context: Single, time: Single