Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/facett

facett-simview/examples/native.rs

//! The Simulate viewer in a native window, over the in-process mock (no server):
//!
//! ```text
//! cargo run --release -p facett-simview --example native -- 110000
//! cargo run --release -p facett-simview --example native --features gpu -- 110000
//! ```
//!
//! With `--features gpu` the 3D cloud draws on the shared instanced GPU cloud renderer
//! (installed here from eframe's render state, as facet-wrapped does in the browser);
//! without it the CPU painter draws a depth-strided sample.

use facett_simview::SimView;
use facett_simview::mock::{MockBackend, MockServer};
use facett_wasm_demo::FacetApp;

fn main() {
    let persons: usize = std::env::args().nth(1).and_then(|a| a.parse().ok()).unwrap_or(110_000);
    let backend = MockBackend::new(MockServer::new(persons));
    let run = facett_wasm_demo::NativeDemo::new(format!("facett-simview — {persons} persons (mock)"))
        .with_inner_size([1500.0, 900.0])
        .run(move |cc| {
            #[cfg(feature = "gpu")]
            if let Some(rs) = cc.wgpu_render_state.as_ref() {
                facett_core::render::gpu::graphcloud::cloud::install_cloud_renderer(rs);
            }
            let _ = cc;
            FacetApp::boxed(Box::new(SimView::new(Box::new(backend))))
        });
    if let Err(e) = run {
        eprintln!("facett-simview: {e}");
        std::process::exit(1);
    }
}