diff --git a/src/render/mod.rs b/src/render/mod.rs index 2687354..dafe901 100644 --- a/src/render/mod.rs +++ b/src/render/mod.rs @@ -880,13 +880,24 @@ impl Renderer { self.surface.configure(&self.device, &self.config); self.eye.resize(width, height); } + + pub fn set_skybox(&mut self, skybox: SimpleTexture) { self.eye.skybox(&self.device, skybox); } pub async fn new(window: &Arc) -> anyhow::Result { + static SKIP_EXTERNAL_OVERLAYS : bool = true; // use a config file or something to allow this to be toggled + let bounds = window.inner_size(); let width = bounds.width; let height = bounds.height; + + if(SKIP_EXTERNAL_OVERLAYS) { + unsafe { // currently will crash on most Windows systems because wGPU in its infinite + // wisdom tries to attach overlays from closed or non-existent programs + std::env::set_var("VK_LOADER_LAYERS_DISABLE", "~implicit~"); + } + } // The instance is a handle to our GPU // BackendBit::PRIMARY => Vulkan + Metal + DX12 + Browser WebGPU let instance = wgpu::Instance::new(wgpu::InstanceDescriptor {