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 |
![]() | |
RenderResourceBase (const RenderResourceBase &)=delete | |
void | setResource (MaterialInstance *resource) |
MaterialInstance * | getResource () const |
![]() | |
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 (const StringView &str) |
StringView | 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 | variantGeneration = 0 |
size_t | permutationIndex = 0 |
uint16_t | buffersGeneration = 0 |
Additional Inherited Members | |
![]() | |
typedef uint32_t | Id |
![]() | |
StringRef | name = NoString |
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 232 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 316 of file RenderMaterialInstance.cpp.
void Cogs::Core::RenderMaterialInstance::release | ( | class Renderer * | renderer | ) |
Definition at line 223 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 67 of file RenderMaterialInstance.h.
std::vector<RenderEffectBinding> Cogs::Core::RenderMaterialInstance::loadedBindings |
Definition at line 63 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 64 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 68 of file RenderMaterialInstance.h.
std::vector<SamplerStateHandle> Cogs::Core::RenderMaterialInstance::samplerStates |
Definition at line 51 of file RenderMaterialInstance.h.
size_t Cogs::Core::RenderMaterialInstance::variantGeneration = 0 |
Definition at line 70 of file RenderMaterialInstance.h.
ShaderVariantSelectors Cogs::Core::RenderMaterialInstance::variantSelectors |
Definition at line 65 of file RenderMaterialInstance.h.