Cogs.Core
Public Member Functions | Public Attributes | List of all members
Cogs::Core::Image360::RendererExtension Struct Reference
Inheritance diagram for Cogs::Core::Image360::RendererExtension:
Cogs::Core::IRendererExtension

Public Member Functions

void initialize (Context *context, IGraphicsDevice *device) override
 Initialize the extension using the given context and device.
 
void release ()
 
void handleEvent (uint32_t eventId, const DrawContext *renderingContext) override
 Called when rendering events occur.
 
void generateCommands (const RenderTaskContext *renderingContext, RenderList *renderList) override
 
void releaseRenderingResources (RendererExtensionData &im360Data)
 
- Public Member Functions inherited from Cogs::Core::IRendererExtension
virtual ~IRendererExtension ()=default
 Provided for destruction via pointer to base.
 
virtual void initialize (class Context *context, IGraphicsDevice *device)=0
 Initialize the extension using the given context and device.
 
virtual void handleEvent (uint32_t eventId, const DrawContext *renderingContext)=0
 Called when rendering events occur.
 
virtual void generateCommands (const RenderTaskContext *renderingContext, RenderList *renderList)=0
 

Public Attributes

Contextcontext = nullptr
 
IGraphicsDevicedevice = nullptr
 
Image360Systemim360System = nullptr
 
Memory::MemoryBuffer scratch
 
struct {
   MeshStreamsLayout   streamsLayout
 
   Cogs::VertexBufferHandle   vertices
 
   Cogs::BufferHandle   paramBuffer
 
fullScreenTriangle
 
struct {
   struct {
      Cogs::EffectHandle   effect = Cogs::EffectHandle::NoHandle
 
      Cogs::InputLayoutHandle   inputLayout = Cogs::InputLayoutHandle::NoHandle
 
      Cogs::TextureBindingHandle   srcTexBinding = Cogs::TextureBindingHandle::NoHandle
 
      Cogs::SamplerStateBindingHandle   srcSamplerBinding = Cogs::SamplerStateBindingHandle::NoHandle
 
      Cogs::ConstantBufferBindingHandle   paramBinding = Cogs::ConstantBufferBindingHandle::NoHandle
 
   }   f
 
   struct {
      Cogs::EffectHandle   effect = Cogs::EffectHandle::NoHandle
 
      Cogs::InputLayoutHandle   inputLayout = Cogs::InputLayoutHandle::NoHandle
 
      Cogs::TextureBindingHandle   srcTexBinding = Cogs::TextureBindingHandle::NoHandle
 
      Cogs::SamplerStateBindingHandle   srcSamplerBinding = Cogs::SamplerStateBindingHandle::NoHandle
 
      Cogs::ConstantBufferBindingHandle   paramBinding = Cogs::ConstantBufferBindingHandle::NoHandle
 
   }   u
 
   Cogs::BufferHandle   paramBuffer = Cogs::BufferHandle::NoHandle
 
   Cogs::SamplerStateHandle   samplerState = Cogs::SamplerStateHandle::NoHandle
 
   Cogs::TextureHandle   sourceTexture = Cogs::TextureHandle::NoHandle
 
   Cogs::DepthStencilStateHandle   depthStencilState = Cogs::DepthStencilStateHandle::NoHandle
 
   Cogs::BlendStateHandle   blendState = Cogs::BlendStateHandle::NoHandle
 
atlasBlit
 

Detailed Description

Definition at line 31 of file Image360System.h.

Member Function Documentation

◆ generateCommands()

void Cogs::Core::Image360::RendererExtension::generateCommands ( const RenderTaskContext renderingContext,
RenderList renderList 
)
overridevirtual

Implements Cogs::Core::IRendererExtension.

Definition at line 617 of file RendererExtension.cpp.

◆ handleEvent()

void Cogs::Core::Image360::RendererExtension::handleEvent ( uint32_t  eventId,
const DrawContext renderingContext 
)
overridevirtual

Called when rendering events occur.

Allows rendering extensions to handle the events in a custom way.

Parameters
eventIdRendering event identifier. May be one of RenderingEvent, or custom identifier.
renderingContextPointer to rendering context data, or nullptr if not present.

Implements Cogs::Core::IRendererExtension.

Definition at line 362 of file RendererExtension.cpp.

References Cogs::Core::Image360::Config::baseSize, Cogs::Core::Image360::Config::channels, Cogs::BindFlags::ConstantBuffer, Cogs::TextureFlags::Default, Cogs::Core::Image360::Config::depthChannel, Cogs::Usage::Dynamic, Cogs::IGraphicsDevice::getBuffers(), Cogs::IGraphicsDevice::getTextures(), Cogs::Core::Image360::RendererExtensionData::gpuActiveCacheItemCount, Cogs::Core::Image360::RendererExtensionData::gpuAllocatedCacheItemCount, Cogs::Core::HandleIsValid(), Cogs::Core::Image360::Config::hasDepth, Cogs::IBuffers::loadBuffer(), Cogs::ITextures::loadTexture(), Cogs::Core::Image360::Config::noDataDepth, Cogs::Handle_t< TextureTag >::NoHandle, Cogs::Core::RenderingEvent::PostRender, Cogs::Core::RenderingEvent::PreRender, Cogs::ITextures::releaseTexture(), Cogs::Core::Image360::Config::Channel::SRGB8_JPEG, Cogs::Core::Image360::Config::Channel::SRGB8_PNG, Cogs::Core::Image360::Config::Channel::SRGBA8_PNG, Cogs::Core::Image360::Config::Channel::U16, Cogs::Core::Image360::Config::Channel::U16_ZST, Cogs::Core::Image360::Config::valueChannel, Cogs::Core::Image360Component::valueDomainMax, Cogs::Core::Image360Component::valueDomainMin, and Cogs::AccessMode::Write.

◆ initialize()

void Cogs::Core::Image360::RendererExtension::initialize ( Context context,
IGraphicsDevice device 
)
overridevirtual

Initialize the extension using the given context and device.

Parameters
contextContext the extension exists in.
deviceGraphics device used by the renderer that can be shared with the extension.

Implements Cogs::Core::IRendererExtension.

Definition at line 294 of file RendererExtension.cpp.

References Cogs::IGraphicsDevice::getBuffers(), Cogs::IBuffers::loadVertexBuffer(), Cogs::Position, and Cogs::VertexData.

◆ release()

void Cogs::Core::Image360::RendererExtension::release ( )

Definition at line 322 of file RendererExtension.cpp.

◆ releaseRenderingResources()

void Cogs::Core::Image360::RendererExtension::releaseRenderingResources ( RendererExtensionData im360Data)

Definition at line 333 of file RendererExtension.cpp.

Member Data Documentation

◆ blendState

Cogs::BlendStateHandle Cogs::Core::Image360::RendererExtension::blendState = Cogs::BlendStateHandle::NoHandle

Definition at line 74 of file Image360System.h.

◆ context

Context* Cogs::Core::Image360::RendererExtension::context = nullptr

Definition at line 40 of file Image360System.h.

◆ depthStencilState

Cogs::DepthStencilStateHandle Cogs::Core::Image360::RendererExtension::depthStencilState = Cogs::DepthStencilStateHandle::NoHandle

Definition at line 73 of file Image360System.h.

◆ device

IGraphicsDevice* Cogs::Core::Image360::RendererExtension::device = nullptr

Definition at line 41 of file Image360System.h.

◆ effect

Cogs::EffectHandle Cogs::Core::Image360::RendererExtension::effect = Cogs::EffectHandle::NoHandle

Definition at line 55 of file Image360System.h.

◆ im360System

Image360System* Cogs::Core::Image360::RendererExtension::im360System = nullptr

Definition at line 42 of file Image360System.h.

◆ inputLayout

Cogs::InputLayoutHandle Cogs::Core::Image360::RendererExtension::inputLayout = Cogs::InputLayoutHandle::NoHandle

Definition at line 56 of file Image360System.h.

◆ paramBinding

Cogs::ConstantBufferBindingHandle Cogs::Core::Image360::RendererExtension::paramBinding = Cogs::ConstantBufferBindingHandle::NoHandle

Definition at line 59 of file Image360System.h.

◆ paramBuffer

Cogs::BufferHandle Cogs::Core::Image360::RendererExtension::paramBuffer = Cogs::BufferHandle::NoHandle

Definition at line 49 of file Image360System.h.

◆ samplerState

Cogs::SamplerStateHandle Cogs::Core::Image360::RendererExtension::samplerState = Cogs::SamplerStateHandle::NoHandle

Definition at line 71 of file Image360System.h.

◆ scratch

Memory::MemoryBuffer Cogs::Core::Image360::RendererExtension::scratch

Definition at line 44 of file Image360System.h.

◆ sourceTexture

Cogs::TextureHandle Cogs::Core::Image360::RendererExtension::sourceTexture = Cogs::TextureHandle::NoHandle

Definition at line 72 of file Image360System.h.

◆ srcSamplerBinding

Cogs::SamplerStateBindingHandle Cogs::Core::Image360::RendererExtension::srcSamplerBinding = Cogs::SamplerStateBindingHandle::NoHandle

Definition at line 58 of file Image360System.h.

◆ srcTexBinding

Cogs::TextureBindingHandle Cogs::Core::Image360::RendererExtension::srcTexBinding = Cogs::TextureBindingHandle::NoHandle

Definition at line 57 of file Image360System.h.

◆ streamsLayout

MeshStreamsLayout Cogs::Core::Image360::RendererExtension::streamsLayout

Definition at line 47 of file Image360System.h.

◆ vertices

Cogs::VertexBufferHandle Cogs::Core::Image360::RendererExtension::vertices

Definition at line 48 of file Image360System.h.


The documentation for this struct was generated from the following files: