pub struct WebGpuViewer { /* private fields */ }Expand description
Web-compatible bridge from portable viewer state to the shared wgpu backend.
The bridge owns no scene geometry. Callers explicitly upload through
Self::renderer and pass the resulting device-resident handle to
Self::render. A frame remains device-resident unless the caller invokes
the renderer’s explicit readback API.
Implementations§
Source§impl WebGpuViewer
impl WebGpuViewer
Sourcepub async fn new_async(
state: WebViewerState,
preference: WgpuPowerPreference,
) -> WebResult<Self>
pub async fn new_async( state: WebViewerState, preference: WgpuPowerPreference, ) -> WebResult<Self>
Asynchronously creates a WebGPU runtime and bridge.
This is the normal wasm32 entry point; it never blocks the browser
main thread while requesting an adapter/device.
Sourcepub fn try_new(
state: WebViewerState,
runtime: Arc<WgpuRuntime>,
) -> WebResult<Self>
pub fn try_new( state: WebViewerState, runtime: Arc<WgpuRuntime>, ) -> WebResult<Self>
Creates a bridge on a caller-selected wgpu runtime.
Sourcepub const fn state(&self) -> &WebViewerState
pub const fn state(&self) -> &WebViewerState
Portable state.
Sourcepub fn set_state(&mut self, state: WebViewerState) -> WebResult<()>
pub fn set_state(&mut self, state: WebViewerState) -> WebResult<()>
Replaces portable state after strict validation.
Sourcepub const fn renderer(&self) -> &WgpuRenderer
pub const fn renderer(&self) -> &WgpuRenderer
Renderer used for explicit geometry upload/recycle/readback.
Sourcepub fn render(
&self,
geometry: &GpuGeometry,
style: VisualStyle,
clear_color: LinearRgba,
) -> WebResult<WebGpuFrame>
pub fn render( &self, geometry: &GpuGeometry, style: VisualStyle, clear_color: LinearRgba, ) -> WebResult<WebGpuFrame>
Renders one already-uploaded layer with the current camera/viewport.
Auto Trait Implementations§
impl !Freeze for WebGpuViewer
impl !RefUnwindSafe for WebGpuViewer
impl Send for WebGpuViewer
impl Sync for WebGpuViewer
impl Unpin for WebGpuViewer
impl UnsafeUnpin for WebGpuViewer
impl !UnwindSafe for WebGpuViewer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more