|
Cogs.Core
|
Classes | |
| struct | AtlasBlitVariant |
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) |
| bool | isReady () |
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 | |
| Context * | context = nullptr |
| IGraphicsDevice * | device = nullptr |
| Image360System * | im360System = nullptr |
| Memory::MemoryBuffer | scratch |
| std::vector< Cogs::TextureHandle > | texturesToRelease |
| struct { | |
| MeshStreamsLayout streamsLayout | |
| Cogs::VertexBufferHandle vertices | |
| Cogs::BufferHandle paramBuffer | |
| } | fullScreenTriangle |
| struct { | |
| AtlasBlitVariant f | |
| AtlasBlitVariant 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 |
Definition at line 31 of file Image360System.h.
|
overridevirtual |
Implements Cogs::Core::IRendererExtension.
Definition at line 685 of file RendererExtension.cpp.
|
overridevirtual |
Called when rendering events occur.
Allows rendering extensions to handle the events in a custom way.
| eventId | Rendering event identifier. May be one of RenderingEvent, or custom identifier. |
| renderingContext | Pointer to rendering context data, or nullptr if not present. |
Implements Cogs::Core::IRendererExtension.
Definition at line 423 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.
|
overridevirtual |
Initialize the extension using the given context and device.
| context | Context the extension exists in. |
| device | Graphics device used by the renderer that can be shared with the extension. |
Implements Cogs::Core::IRendererExtension.
Definition at line 350 of file RendererExtension.cpp.
References Cogs::IGraphicsDevice::getBuffers(), Cogs::IBuffers::loadVertexBuffer(), Cogs::Position, and Cogs::VertexData.
| bool Cogs::Core::Image360::RendererExtension::isReady | ( | ) |
Polls readiness of the atlasBlit shaders (used on OpenGLES30 only) and lazily finishes their reflection-dependent setup once compiled. Returns true once both variants have settled (either Ready or permanently Error) so callers do not wait forever.
Definition at line 337 of file RendererExtension.cpp.
References Cogs::OpenGLES30.
Referenced by Cogs::Core::Image360System::update().
| void Cogs::Core::Image360::RendererExtension::release | ( | ) |
Definition at line 378 of file RendererExtension.cpp.
| void Cogs::Core::Image360::RendererExtension::releaseRenderingResources | ( | RendererExtensionData & | im360Data | ) |
Definition at line 394 of file RendererExtension.cpp.
| Cogs::BlendStateHandle Cogs::Core::Image360::RendererExtension::blendState = Cogs::BlendStateHandle::NoHandle |
Definition at line 78 of file Image360System.h.
| Context* Cogs::Core::Image360::RendererExtension::context = nullptr |
Definition at line 45 of file Image360System.h.
| Cogs::DepthStencilStateHandle Cogs::Core::Image360::RendererExtension::depthStencilState = Cogs::DepthStencilStateHandle::NoHandle |
Definition at line 77 of file Image360System.h.
| IGraphicsDevice* Cogs::Core::Image360::RendererExtension::device = nullptr |
Definition at line 46 of file Image360System.h.
| AtlasBlitVariant Cogs::Core::Image360::RendererExtension::f |
Definition at line 71 of file Image360System.h.
| Image360System* Cogs::Core::Image360::RendererExtension::im360System = nullptr |
Definition at line 47 of file Image360System.h.
| Cogs::BufferHandle Cogs::Core::Image360::RendererExtension::paramBuffer = Cogs::BufferHandle::NoHandle |
Definition at line 57 of file Image360System.h.
| Cogs::SamplerStateHandle Cogs::Core::Image360::RendererExtension::samplerState = Cogs::SamplerStateHandle::NoHandle |
Definition at line 75 of file Image360System.h.
| Memory::MemoryBuffer Cogs::Core::Image360::RendererExtension::scratch |
Definition at line 49 of file Image360System.h.
| Cogs::TextureHandle Cogs::Core::Image360::RendererExtension::sourceTexture = Cogs::TextureHandle::NoHandle |
Definition at line 76 of file Image360System.h.
| MeshStreamsLayout Cogs::Core::Image360::RendererExtension::streamsLayout |
Definition at line 55 of file Image360System.h.
| std::vector<Cogs::TextureHandle> Cogs::Core::Image360::RendererExtension::texturesToRelease |
Definition at line 52 of file Image360System.h.
| AtlasBlitVariant Cogs::Core::Image360::RendererExtension::u |
Definition at line 72 of file Image360System.h.
| Cogs::VertexBufferHandle Cogs::Core::Image360::RendererExtension::vertices |
Definition at line 56 of file Image360System.h.