render: disable clouds on wasm (#448)
No clouds on wasm since no geo shaders on WebGL Needed for 🕸️ Web support #446, to fix "invalid shader type", see https://github.com/iceiix/stevenarella/pull/442#issuecomment-751428548
This commit is contained in:
parent
b8b4cb07a7
commit
8e728830b3
|
@ -51,7 +51,7 @@ pub struct Renderer {
|
||||||
textures: Arc<RwLock<TextureManager>>,
|
textures: Arc<RwLock<TextureManager>>,
|
||||||
pub ui: ui::UIState,
|
pub ui: ui::UIState,
|
||||||
pub model: model::Manager,
|
pub model: model::Manager,
|
||||||
pub clouds: clouds::Clouds,
|
pub clouds: Option<clouds::Clouds>,
|
||||||
|
|
||||||
gl_texture: gl::Texture,
|
gl_texture: gl::Texture,
|
||||||
texture_layers: usize,
|
texture_layers: usize,
|
||||||
|
@ -191,10 +191,18 @@ impl Renderer {
|
||||||
gl::blend_func(gl::SRC_ALPHA, gl::ONE_MINUS_SRC_ALPHA);
|
gl::blend_func(gl::SRC_ALPHA, gl::ONE_MINUS_SRC_ALPHA);
|
||||||
gl::depth_func(gl::LESS_OR_EQUAL);
|
gl::depth_func(gl::LESS_OR_EQUAL);
|
||||||
|
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
let clouds = Some(clouds::Clouds::new(&greg, textures.clone()));
|
||||||
|
|
||||||
|
// No clouds on wasm since no geo shaders on WebGL
|
||||||
|
// TODO: setting to disable clouds on native, too, if desired
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
let clouds = None;
|
||||||
|
|
||||||
Renderer {
|
Renderer {
|
||||||
resource_version: version,
|
resource_version: version,
|
||||||
model: model::Manager::new(&greg),
|
model: model::Manager::new(&greg),
|
||||||
clouds: clouds::Clouds::new(&greg, textures.clone()),
|
clouds,
|
||||||
textures,
|
textures,
|
||||||
ui,
|
ui,
|
||||||
resources: res,
|
resources: res,
|
||||||
|
@ -358,17 +366,19 @@ impl Renderer {
|
||||||
self.light_level,
|
self.light_level,
|
||||||
self.sky_offset,
|
self.sky_offset,
|
||||||
);
|
);
|
||||||
if world.copy_cloud_heightmap(&mut self.clouds.heightmap_data) {
|
if let Some(clouds) = &mut self.clouds {
|
||||||
self.clouds.dirty = true;
|
if world.copy_cloud_heightmap(&mut clouds.heightmap_data) {
|
||||||
|
clouds.dirty = true;
|
||||||
|
}
|
||||||
|
clouds.draw(
|
||||||
|
&self.camera.pos,
|
||||||
|
&self.perspective_matrix,
|
||||||
|
&self.camera_matrix,
|
||||||
|
self.light_level,
|
||||||
|
self.sky_offset,
|
||||||
|
delta,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
self.clouds.draw(
|
|
||||||
&self.camera.pos,
|
|
||||||
&self.perspective_matrix,
|
|
||||||
&self.camera_matrix,
|
|
||||||
self.light_level,
|
|
||||||
self.sky_offset,
|
|
||||||
delta,
|
|
||||||
);
|
|
||||||
|
|
||||||
// Trans chunk rendering
|
// Trans chunk rendering
|
||||||
self.chunk_shader_alpha.program.use_program();
|
self.chunk_shader_alpha.program.use_program();
|
||||||
|
|
Loading…
Reference in New Issue