|
Cogs.Core
|
Classes | |
| struct | RenderEffectBinding |
| struct | UpdateBuffer |
Public Member Functions | |
| ActivationResult | update (MaterialInstance *materialInstance, IGraphicsDevice *device, class RenderResources *resources, RenderStates *renderStates) |
| void | release (class Renderer *renderer) |
| const EffectBinding * | checkReady (const MeshStreamsLayout &streamsLayout, const EnginePermutation *permutation, const RenderPassOptions &passOptions, ClipShapeType clipShape) |
| const EffectBinding * | getBindings (const MeshStreamsLayout &streamsLayout, const EnginePermutation *permutation, const RenderPassOptions &passOptions, ClipShapeType clipShape) const |
Public Member Functions inherited from Cogs::Core::RenderResourceBase< MaterialInstance > | |
| RenderResourceBase (const RenderResourceBase &)=delete | |
| void | setResource (MaterialInstance *resource) |
| MaterialInstance * | getResource () const |
Public Member Functions inherited from Cogs::Core::RenderResource | |
| RenderResource (const RenderResource &)=delete | |
| RenderResource & | operator= (const RenderResource &)=delete |
| void | setActive () |
| void | setDelayed () |
| void | setFailed () |
| void | setReleased () |
| void | setOwned () |
| void | setPersistent () |
| void | setOverride () |
| bool | isActive () const |
| Get if the render resource is active and can be used for rendering. | |
| bool | isDelayed () const |
| Get if the render resource is in a delayed state. | |
| bool | isSet (RenderResourceFlags flag) const |
| bool | isPersistent () const |
| bool | isOverride () const |
| bool | hasFailed () const |
| bool | isReleased () const |
| bool | isOwned () const |
| void | setName (std::string_view str) |
| const std::string & | getName () const |
| RenderResourceType | getType () const |
| RenderResourceFlags | getFlags () const |
| void | incrementGeneration () |
| uint16_t | getGeneration () |
| Id | getIdentity () const |
Public Attributes | |
| std::vector< UpdateBuffer > | buffers |
| std::vector< BufferHandle > | ownedBuffers |
| std::vector< SamplerStateHandle > | samplerStates |
| std::vector< RenderEffectBinding > | loadedBindings |
| std::vector< RenderEffectBinding > | pendingBindings |
| ShaderVariantSelectors | variantSelectors |
| Context * | context = nullptr |
| RenderMaterial * | renderMaterial = nullptr |
| size_t | materialVariantGeneration = 0 |
| size_t | instanceVariantGeneration = 0 |
| size_t | permutationIndex = 0 |
| uint16_t | buffersGeneration = 0 |
Additional Inherited Members | |
Public Types inherited from Cogs::Core::RenderResource | |
| typedef uint32_t | Id |
Protected Attributes inherited from Cogs::Core::RenderResource | |
| std::string | name |
| RenderResourceType | type = RenderResourceType::Unknown |
| RenderResourceFlags | flags = RenderResourceFlags::None |
| uint16_t | generation = 0 |
| Id | identity = 0 |
Definition at line 20 of file RenderMaterialInstance.h.
| const EffectBinding * Cogs::Core::RenderMaterialInstance::checkReady | ( | const MeshStreamsLayout & | streamsLayout, |
| const EnginePermutation * | permutation, | ||
| const RenderPassOptions & | passOptions, | ||
| ClipShapeType | clipShape | ||
| ) |
Check if an effect binding is ready for use.
| streamsLayout | Non-empty description of streams. This object is copied, so it doesn't need to live after the function call. |
Definition at line 237 of file RenderMaterialInstance.cpp.
References Cogs::Core::ConstantBuffers::buffersGeneration, Cogs::Core::MaterialInstance::buffersGeneration, Cogs::Core::RenderMaterial::getBinding(), Cogs::Core::HandleIsValid(), Cogs::Core::RenderResource::isDelayed(), and Cogs::Core::MaterialInstance::material.
| const Cogs::Core::EffectBinding * Cogs::Core::RenderMaterialInstance::getBindings | ( | const MeshStreamsLayout & | streamsLayout, |
| const EnginePermutation * | permutation, | ||
| const RenderPassOptions & | passOptions, | ||
| ClipShapeType | clipShape | ||
| ) | const |
Get effect binding for a streamsLayout/enginePermutation combo.
Definition at line 321 of file RenderMaterialInstance.cpp.
| void Cogs::Core::RenderMaterialInstance::release | ( | class Renderer * | renderer | ) |
Definition at line 228 of file RenderMaterialInstance.cpp.
| Cogs::Core::ActivationResult Cogs::Core::RenderMaterialInstance::update | ( | MaterialInstance * | materialInstance, |
| IGraphicsDevice * | device, | ||
| class RenderResources * | resources, | ||
| RenderStates * | renderStates | ||
| ) |
Definition at line 162 of file RenderMaterialInstance.cpp.
| std::vector<UpdateBuffer> Cogs::Core::RenderMaterialInstance::buffers |
Definition at line 48 of file RenderMaterialInstance.h.
| uint16_t Cogs::Core::RenderMaterialInstance::buffersGeneration = 0 |
Definition at line 75 of file RenderMaterialInstance.h.
| Context* Cogs::Core::RenderMaterialInstance::context = nullptr |
Definition at line 66 of file RenderMaterialInstance.h.
| size_t Cogs::Core::RenderMaterialInstance::instanceVariantGeneration = 0 |
Definition at line 70 of file RenderMaterialInstance.h.
| std::vector<RenderEffectBinding> Cogs::Core::RenderMaterialInstance::loadedBindings |
Definition at line 62 of file RenderMaterialInstance.h.
| size_t Cogs::Core::RenderMaterialInstance::materialVariantGeneration = 0 |
Definition at line 69 of file RenderMaterialInstance.h.
| std::vector<BufferHandle> Cogs::Core::RenderMaterialInstance::ownedBuffers |
Definition at line 49 of file RenderMaterialInstance.h.
| std::vector<RenderEffectBinding> Cogs::Core::RenderMaterialInstance::pendingBindings |
Definition at line 63 of file RenderMaterialInstance.h.
| size_t Cogs::Core::RenderMaterialInstance::permutationIndex = 0 |
Definition at line 71 of file RenderMaterialInstance.h.
| RenderMaterial* Cogs::Core::RenderMaterialInstance::renderMaterial = nullptr |
Definition at line 67 of file RenderMaterialInstance.h.
| std::vector<SamplerStateHandle> Cogs::Core::RenderMaterialInstance::samplerStates |
Definition at line 51 of file RenderMaterialInstance.h.
| ShaderVariantSelectors Cogs::Core::RenderMaterialInstance::variantSelectors |
Definition at line 64 of file RenderMaterialInstance.h.