Skip to main content

SceneRenderPassContext

Struct SceneRenderPassContext 

Source
pub struct SceneRenderPassContext<'a, 'b> {
Show 20 fields pub elapsed_time: f32, pub server: &'a dyn GraphicsServer, pub texture_cache: &'a mut TextureCache, pub geometry_cache: &'a mut GeometryCache, pub shader_cache: &'a mut ShaderCache, pub bundle_storage: &'a RenderDataBundleStorage, pub quality_settings: &'a QualitySettings, pub framebuffer: &'a GpuFrameBuffer, pub scene: &'b Scene, pub observer: &'b Observer, pub scene_handle: Handle<Scene>, pub renderer_resources: &'a RendererResources, pub depth_texture: &'a GpuTexture, pub normal_texture: &'a GpuTexture, pub ambient_texture: &'a GpuTexture, pub ui_renderer: &'a mut UiRenderer, pub uniform_buffer_cache: &'a mut UniformBufferCache, pub uniform_memory_allocator: &'a mut UniformMemoryAllocator, pub dynamic_surface_cache: &'a mut DynamicSurfaceCache, pub resource_manager: &'a ResourceManager,
}
Expand description

A context for custom scene render passes.

Fields§

§elapsed_time: f32

Amount of time (in seconds) that passed from creation of the engine. Keep in mind, that this value is not guaranteed to match real time. A user can change delta time with which the engine “ticks” and this delta time affects elapsed time.

§server: &'a dyn GraphicsServer

A graphics server that is used as a wrapper to underlying graphics API.

§texture_cache: &'a mut TextureCache

A texture cache that uploads engine’s Texture as internal GpuTexture to GPU. Use this to get a corresponding GPU texture by an instance of a Texture.

§geometry_cache: &'a mut GeometryCache

A geometry cache that uploads engine’s SurfaceData as internal GeometryBuffer to GPU. Use this to get a corresponding GPU geometry buffer (essentially it is just a VAO) by an instance of a SurfaceData.

§shader_cache: &'a mut ShaderCache

A cache that stores all native shaders associated with a shader resource. You can use it to get a ready-to-use set of shaders for your shader resource, which could be obtained from a material.

§bundle_storage: &'a RenderDataBundleStorage

A storage that contains “pre-compiled” groups of render data (batches).

§quality_settings: &'a QualitySettings

Current quality settings of the renderer.

§framebuffer: &'a GpuFrameBuffer

Current framebuffer to which scene is being rendered to.

§scene: &'b Scene

A scene being rendered.

§observer: &'b Observer

A camera from the scene that is used as “eyes”.

§scene_handle: Handle<Scene>

A handle of the scene being rendered.

§renderer_resources: &'a RendererResources

A set of textures of certain kinds that could be used as a stub in cases when you don’t have your own texture of this kind.

§depth_texture: &'a GpuTexture

A texture with depth values from G-Buffer.

§Important notes

Keep in mind that G-Buffer cannot be modified in custom render passes, so you don’t have an ability to write to this texture. However, you can still write to depth of the frame buffer as you’d normally do.

§normal_texture: &'a GpuTexture

A texture with world-space normals from G-Buffer.

§Important notes

Keep in mind that G-Buffer cannot be modified in custom render passes, so you don’t have an ability to write to this texture.

§ambient_texture: &'a GpuTexture

A texture with ambient lighting values from G-Buffer.

§Important notes

Keep in mind that G-Buffer cannot be modified in custom render passes, so you don’t have an ability to write to this texture.

§ui_renderer: &'a mut UiRenderer

User interface renderer.

§uniform_buffer_cache: &'a mut UniformBufferCache

A cache of uniform buffers.

§uniform_memory_allocator: &'a mut UniformMemoryAllocator

Memory allocator for uniform buffers that tries to pack uniforms densely into large uniform buffers, giving you offsets to the data.

§dynamic_surface_cache: &'a mut DynamicSurfaceCache

Dynamic surface cache. See DynamicSurfaceCache docs for more info.

§resource_manager: &'a ResourceManager

A reference to the resource manager.

Auto Trait Implementations§

§

impl<'a, 'b> Freeze for SceneRenderPassContext<'a, 'b>

§

impl<'a, 'b> !RefUnwindSafe for SceneRenderPassContext<'a, 'b>

§

impl<'a, 'b> !Send for SceneRenderPassContext<'a, 'b>

§

impl<'a, 'b> !Sync for SceneRenderPassContext<'a, 'b>

§

impl<'a, 'b> Unpin for SceneRenderPassContext<'a, 'b>

§

impl<'a, 'b> !UnwindSafe for SceneRenderPassContext<'a, 'b>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<T, U> ObjectOrVariant<T> for U

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more