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: f32Amount 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 GraphicsServerA graphics server that is used as a wrapper to underlying graphics API.
texture_cache: &'a mut TextureCacheA 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 GeometryCacheA 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 ShaderCacheA 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 RenderDataBundleStorageA storage that contains “pre-compiled” groups of render data (batches).
quality_settings: &'a QualitySettingsCurrent quality settings of the renderer.
framebuffer: &'a GpuFrameBufferCurrent framebuffer to which scene is being rendered to.
scene: &'b SceneA scene being rendered.
observer: &'b ObserverA camera from the scene that is used as “eyes”.
scene_handle: Handle<Scene>A handle of the scene being rendered.
renderer_resources: &'a RendererResourcesA 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 GpuTextureA 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 GpuTextureA 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 GpuTextureA 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 UiRendererUser interface renderer.
uniform_buffer_cache: &'a mut UniformBufferCacheA cache of uniform buffers.
uniform_memory_allocator: &'a mut UniformMemoryAllocatorMemory 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 DynamicSurfaceCacheDynamic surface cache. See DynamicSurfaceCache docs for more info.
resource_manager: &'a ResourceManagerA 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> 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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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 Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.