Use the Composition Target Render Pass to set one to four composition targets and render all descendant render passes to the composition targets that the Composition Target Render Pass created. More...
#include <kanzi/core.ui/graphics3d/composition_target_render_pass.hpp>
Classes | |
struct | CompositionFormatSettings |
Format settings for composition target render pass. More... | |
struct | CompositionSizeSettings |
Size settings for Composition Target Render Pass. More... | |
Public Member Functions | |
Framebuffer * | getFramebuffer () |
Gets the internal framebuffer structure. More... | |
const Framebuffer * | getFramebuffer () const |
Gets the internal framebuffer structure (const version). More... | |
Public Member Functions inherited from kanzi::RenderPass | |
void | addChild (RenderPassSharedPtr childRenderPass) |
Adds a render pass as the last child of the render pass you set. More... | |
void | attach () |
Attaches the render pass. More... | |
void | attachRecursive (Node &node) |
Recursively attaches a render pass tree. More... | |
ChildConstIterator | beginChildren () const |
Returns an iterator to the beginning of the container of child render passes. More... | |
BindingLookupContextPtr | createLookupContext (RenderPassSharedPtr templateRoot) |
Creates a lookup context for a given render pass. More... | |
void | detach () |
Detaches the render pass. More... | |
void | detachRecursive () |
Recursively detaches a render pass tree. More... | |
ChildConstIterator | endChildren () const |
Returns an iterator to the end of the container of child render passes. More... | |
string | getCamera () const |
Gets the value of the CameraProperty. More... | |
RenderPassSharedPtr | getChild (size_t index) |
Gets a child render pass at the given index. More... | |
size_t | getChildCount () const |
Returns the number of child render passes. More... | |
size_t | getChildIndex (RenderPass &childRenderPass) const |
Gets the index of a child in this render pass. More... | |
Node * | getHostNode () const |
Gets the host node of a render pass. More... | |
Vector4 | getInputViewport () const |
Gets the value of InputViewportAreaProperty. More... | |
RenderPass * | getParent () const |
Gets the parent of a render pass. More... | |
Scene * | getSceneForRenderPass () const |
Gets the scene being rendered by the render pass. More... | |
RenderPassSharedPtr | getTemplateRoot () const |
Gets the template root of this render pass. More... | |
Viewport2D * | getViewportForRenderPass () const |
Gets a viewport parent for a render pass. More... | |
void | insertChild (size_t index, RenderPassSharedPtr childRenderPass) |
Adds a render pass as a child render pass at given index of the render pass you set. More... | |
bool | isAttached () const |
Tells if a render pass is attached. More... | |
bool | isAttaching () const |
Tells if a render pass is attaching. More... | |
bool | isDetached () const |
Tells if a render pass is detached. More... | |
bool | isDetaching () const |
Tells if render pass is detaching. More... | |
bool | isEnabled () const |
Gets the value of the EnabledProperty property. More... | |
ObjectSharedPtr | lookupObject (string_view relativePath) |
Lookup for an object from a node. More... | |
template<typename T > | |
shared_ptr< T > | lookupObject (string_view relativePath) |
Lookup a relative object of specific type. More... | |
void | removeAllChildren () |
Removes all child render passes from a render pass. More... | |
void | removeChild (RenderPass &childRenderPass) |
Removes a child render pass. More... | |
void | removeChild (size_t index) |
Removes a child render pass. More... | |
void | render (Renderer3D &renderer, CompositionStack &compositionStack, const CameraSettings *cameraSettings) |
Recursively render RenderPass and all of its child render passes. More... | |
void | restoreResourcesRecursive () |
Recursively calls restoreResources for a RenderPass and all its children. More... | |
void | setCamera (string_view value) |
Sets the value of the CameraProperty. More... | |
void | setEnabled (bool value) |
Sets the value of the EnabledProperty. More... | |
void | setHostNode (Node *hostNode) |
Sets the host node of a render pass. More... | |
void | setParent (RenderPass *parent) |
Sets the parent of a render pass. More... | |
void | setTemplateRoot (RenderPassSharedPtr templateRoot) |
Sets the template root for this render pass. More... | |
~RenderPass () override | |
Destructor. More... | |
Public Member Functions inherited from kanzi::Resource | |
virtual unsigned int | getCPUMemoryUsage () const |
Function for getting the memory usage of a resource. More... | |
const string & | getName () const |
Gets the resource name. More... | |
const string & | getUrl () const |
Gets the resource URL. More... | |
bool | isKeepAlive () const |
Tells if the resource has keep alive flag set. More... | |
void | reload () |
void | reloadFromFile (string_view filePath) |
void | reloadFromKzb (KzbFile &kzbFile, ReadOnlyMemoryFile &file, KzbMemoryParser &parser) |
void | setKeepAlive (bool keepAlive) |
Sets the keep alive flag. More... | |
void | setUrl (string_view url) |
Sets the resource URL. More... | |
~Resource () override | |
Destructor. More... | |
Public Member Functions inherited from kanzi::Object | |
AppliedStyleEntrySharedPtr | applyObjectStyle (kanzi::StyleSharedPtr style) |
Applies a style to an object. More... | |
void | applyObjectStyles () |
Apply all styles for an object node. More... | |
Domain * | getDomain () const |
Returns the domain the object belongs to. More... | |
const Metaclass * | getDynamicMetaclass () const override |
Returns the metaclass of the dynamic type of the object. More... | |
MainLoopScheduler * | getMainLoopScheduler () const |
Returns the MainLoopScheduler instance of the associated Domain. More... | |
detail::MessageDispatcher * | getMessageDispatcher () const |
Returns the message dispatcher of the object. More... | |
ResourceManager * | getResourceManager () const |
Returns the resource manager of the object. More... | |
ScriptingContextSharedPtr | getScriptingContext () const |
Gets the scripting context of the object. More... | |
Object (Domain *domain) | |
void | setScriptingContext (ScriptingContextSharedPtr context) |
Sets the scripting context of the object. More... | |
void | unapplyObjectStyle (AppliedStyleEntrySharedPtr appliedStyleEntry) |
void | unapplyObjectStyles () |
Unapplies and removes all applied styles. More... | |
~Object () override | |
Public Member Functions inherited from kanzi::MetaObject | |
bool | isTypeOf (const Metaclass *objectType) const |
Determines if the type of this object is the given type or derived from it. More... | |
virtual | ~MetaObject () |
Public Member Functions inherited from kanzi::PropertyObject | |
template<typename DataType > | |
void | addPropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
template<typename DataType > | |
void | addPropertyModifierWithoutNotifyingHandlers (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
Adds a property modifier without notifying handlers. More... | |
template<typename DataType > | |
void | addPropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner) |
template<typename DataType > | |
void | addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer) |
template<typename DataType > | |
void | addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner) |
PropertyStorageContainer::iterator | beginPropertyStorage () |
Returns the begin iterator to the internal property storage container. More... | |
PropertyStorageContainer::const_iterator | beginPropertyStorage () const |
Returns the begin iterator to the internal property storage container. More... | |
void | clearPropertyFlag (AbstractPropertyType propertyType, uint32_t flag) |
void | copyLocalValue (const PropertyObject &other, AbstractPropertyType propertyType) |
Copies local value of single property from another object. More... | |
void | copyLocalValues (const PropertyObject &other) |
Copies all local values from another object. More... | |
PropertyStorageContainer::iterator | endPropertyStorage () |
Returns the end iterator to the internal property storage container. More... | |
PropertyStorageContainer::const_iterator | endPropertyStorage () const |
Returns the end iterator to the internal property storage container. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getAbstractPropertyBase (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalProperty (const PropertyType< DataType > &propertyType) const |
Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value. More... | |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalPropertyBase (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getProperty (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property type. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getPropertyBase (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property disregarding modifiers. More... | |
template<typename DataType > | |
size_t | getPropertyNotificationHandlerCount (const PropertyType< DataType > &propertyType) const |
Gets number of current notification handlers for given property type. More... | |
bool | hasBaseValue (AbstractPropertyType propertyType) const |
Evaluates whether there are any inputs into the property value, disregarding modifiers. More... | |
bool | hasLocalValue (AbstractPropertyType propertyType) const |
Evaluates whether there is a local value set for the property. More... | |
bool | hasNonClassValue (AbstractPropertyType propertyType) const |
Evaluates whether there is a value of any precedence higher than class default value set for the property. More... | |
bool | hasValue (AbstractPropertyType propertyType) const |
Evaluates whether there are any inputs into the property value. More... | |
bool | isPropertyFlagSet (AbstractPropertyType propertyType, uint32_t flag) const |
PropertyObject () | |
void | removeKzbProperties (flat_set< AbstractPropertyType > *keepProperties) |
Remove all KZB properties that are not included in a given set. More... | |
void | removeKzbProperties () |
Remove all KZB properties. More... | |
template<typename DataType > | |
void | removeLocalPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer) |
void | removeLocalValue (AbstractPropertyType propertyType) |
Removes the local value associated with the property. More... | |
template<typename DataType > | |
void | removePropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
template<typename DataType > | |
void | removePropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner) |
template<typename DataType > | |
void | removePropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer) |
template<typename DataType > | |
void | setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::Traits::ParameterType value) |
template<typename DataType > | |
void | setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Traits::ParameterType value) |
Sets the local value of a property type. More... | |
void | setPropertyFlag (AbstractPropertyType propertyType, uint32_t flag) |
KZ_DEPRECATED void | validatePropertyModifiers (AbstractPropertyType propertyType) |
Validates property modifiers and notifies handlers. More... | |
void | validatePropertyModifiersAndNotifyHandlers (AbstractPropertyType propertyType) |
Validates property modifiers and notifies handlers. More... | |
virtual | ~PropertyObject () |
Public Member Functions inherited from kanzi::BindingHostConceptImpl< RenderPass > | |
void | addBindingRuntime (AbstractBindingRuntimeSharedPtr entry, shared_ptr< void > owner) |
Adds an already-created binding runtime to this binding host. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< RenderPass > templateRoot, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< RenderPass > templateRoot, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< RenderPass > templateRoot, AbstractPropertyType propertyType, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< RenderPass > templateRoot) |
Sets a binding with no target. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding) |
Wrapper for setting a binding with no target. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, shared_ptr< RenderPass > templateRoot, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Sets a binding to a certain property. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Wrapper for setting a binding with owner. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType) |
Wrapper for setting a binding with owner. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, shared_ptr< RenderPass > templateRoot) |
Sets a binding with no target. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner) |
Wrapper for setting a binding with no target. More... | |
BindingRuntimeHandle | setModifierBinding (AbstractBindingSharedPtr binding, shared_ptr< RenderPass > templateRoot, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, shared_ptr< RenderPass > templateRoot, AbstractPropertyType propertyType, PropertyField field) |
Sets a modifier binding. More... | |
BindingRuntimeHandle | setModifierBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType) |
Wrapper for setting a modifier binding. More... | |
Public Member Functions inherited from kanzi::BindingHostConcept | |
BindingRuntimeConstIterator | beginBindingRuntimes () const |
Returns an iterator to the beginning of binding runtimes. More... | |
BindingRuntimeConstIterator | endBindingRuntimes () const |
Returns an iterator to the end of binding runtimes. More... | |
AbstractBindingRuntimeSharedPtr | getBindingRuntime (size_t idx) |
Gets binding by index. More... | |
size_t | getBindingRuntimeCount () const |
Gets the number of binding runtimes added to this node. More... | |
void | removeAllBindings () |
Removes all binding runtimes. More... | |
void | removeBinding (BindingRuntimeHandle &bindingRuntime) |
Removes a binding runtime added earlier. More... | |
void | removeBindingsWithOwner (shared_ptr< void > owner) |
Removes all binding runtimes with the specified owner. More... | |
Static Public Member Functions | |
static CompositionTargetRenderPassSharedPtr | create (Domain *domain, string_view name) |
Creates a Composition Target Render Pass. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::RenderPass | |
static RenderPassSharedPtr | create (Domain *domain, string_view name) |
Create a render pass. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::Object | |
static const Metaclass * | getStaticMetaclass () |
Returns the metaclass of Object class. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Default implementation that returns empty editor info. More... | |
Static Public Member Functions inherited from kanzi::MetaObject | |
static const Metaclass * | getStaticMetaclass () |
Returns the metaclass of Object class. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Default implementation that returns empty editor info. More... | |
Protected Member Functions | |
void | clearInternalResources () |
Clear internal resources that Kanzi created when executing this render pass. More... | |
CompositionTargetRenderPass (Domain *domain, string_view name) | |
Constructor. More... | |
CompositionRequirements | getCompositionRequirements () override |
RenderPass::getCompositionRequirements() implementation. More... | |
CompositionFormatSettings | getRequestedCompositionSettings (Texture &compositionTarget, const CompositionSizeSettings &sizeSettings, optional< GraphicsFormat > colorFormat) const |
Gets the composition settings based on explicitly set composition target. More... | |
CompositionFormatSettings | getRequestedCompositionSettings (GraphicsFormat colorFormat, GraphicsFormat depthTextureFormat, GraphicsFormat depthRenderbufferFormat, const CompositionSizeSettings &sizeSettings) const |
Gets the composition settings based on properties. More... | |
void | onDetached () override |
RenderPass::onDetached() implementation. More... | |
void | onPropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override |
Object::onPropertyChanged() implementation. More... | |
void | renderOverride (Renderer3D &renderer, CompositionStack &compositionStack, const CameraSettings *cameraSettings) override |
RenderPass::renderOverride() implementation. More... | |
void | resolveCompositionResults (Renderer3D &renderer, CompositionStack &compositionStack, const optional< CompositionManager::Target > &drawTarget, CompositionManager::Target &resultTarget) |
Resolves composition targets and sets appropriate properties. More... | |
void | restoreResources () override |
RenderPass::restoreResources() implementation. More... | |
void | updateComposition (optional< CompositionManager::Target > &drawTarget, optional< CompositionManager::Target > &resultTarget, Renderer3D &renderer, TextureSharedPtr colorTarget, const CompositionFormatSettings &settings, const CompositionRequirements &requirements) |
Updates the composition targets based on properties and potential existing composition target. More... | |
void | updateComposition (Renderer3D &renderer, Vector2 viewportSize, const CompositionRequirements &childCompositionRequirements) |
Updates all composition settings. More... | |
Protected Member Functions inherited from kanzi::RenderPass | |
Camera * | acquireCamera (string_view relativePath) const |
Acquires a Camera node based on the value of the Camera property. More... | |
CompositionRequirements | combineChildCompositionRequirements (CompositionRequirements requirements) |
Iterates the children for composition requirements. More... | |
CompositionRequirements | getChildCompositionRequirements () |
Iterates the children for composition requirements. More... | |
virtual void | onAttached () |
Called when a render pass becomes attached. More... | |
void | onPropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override |
Object::onPropertyChanged() implementation. More... | |
void | renderChildren (Renderer3D &renderer, CompositionStack &compositionStack, const CameraSettings *cameraSettings) |
Render all child render passes of a render pass. More... | |
virtual void | renderChildrenOverride (Renderer3D &renderer, CompositionStack &compositionStack, const CameraSettings *cameraSettings) |
Implementation-dependent rendering of all child render passes of a render pass. More... | |
RenderPass (Domain *domain, string_view name) | |
Constructor. More... | |
template<typename T > | |
void | updatePropertyValueSourceAndNotify (AbstractPropertyType propertyType, typename PropertyType< T >::Descriptor::TypedValueSource &valueSource, const T &value) |
Updates the local value of a property in a Draw Objects Render Pass. More... | |
Protected Member Functions inherited from kanzi::Resource | |
virtual unsigned int | getCPUMemoryUsageOverride () const |
virtual void | reloadFromFileOverride (string_view filePath) |
virtual void | reloadFromKzbOverride (KzbFile &kzbFile, ReadOnlyMemoryFile &file, KzbMemoryParser &parser) |
virtual void | reloadOverride () |
Resource (Domain *domain, string_view name) | |
Constructor. More... | |
Protected Member Functions inherited from kanzi::Object | |
void | initialize () |
void | onCopy (const Object &other) |
Protected Member Functions inherited from kanzi::MetaObject | |
void | initialize () |
MetaObject () | |
Protected Member Functions inherited from kanzi::PropertyObject | |
AbstractPropertyTypeDescriptor::ValueSourceEntry * | acquireLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage) |
Acquires a local value source entry that is free for the assignment of a value. More... | |
AbstractPropertyTypeDescriptor::ModifierStorage * | acquireModifierStorage (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage) |
AbstractPropertyTypeDescriptor::NotificationStorage * | acquireNotificationStorage (AbstractPropertyTypeDescriptor &descriptor) |
PropertyStoragePtr | acquirePropertyStorage (AbstractPropertyTypeDescriptor &descriptor) |
template<typename DataType > | |
void | addPropertyModifierBase (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner, bool notify) |
Adds a property modifier entry to the property modifier stack and validates them. More... | |
void | addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer) |
Internally adds a property value source. More... | |
void | addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner) |
Internally adds a property value source. More... | |
AbstractPropertyTypeDescriptor::ValueSourceEntry * | constructLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage) |
PropertyStoragePtr | constructPropertyStorage (AbstractPropertyTypeDescriptor &descriptor) |
void | copyLocalValue (const AbstractPropertyTypeDescriptor::PropertyStorage &otherPropertyStorage) |
Copy local value from property storage. More... | |
AbstractPropertyTypeDescriptor::ModifierStorage * | findModifierStorage (AbstractPropertyTypeDescriptor &descriptor) |
AbstractPropertyTypeDescriptor::NotificationStorage * | findNotificationStorage (AbstractPropertyTypeDescriptor &descriptor) const |
AbstractPropertyTypeDescriptor::PropertyStorage * | findPropertyStorage (AbstractPropertyTypeDescriptor &descriptor) const |
Gets the property storage for given property type descriptor. More... | |
PropertyStoragePtr | findPropertyStoragePtr (AbstractPropertyTypeDescriptor &descriptor) const |
Gets property storage intrusive pointer which you can use to hold a reference until the end of the operation. More... | |
AbstractPropertyTypeDescriptor * | findPropertyTypeDescriptorByNameAndDataType (string_view name, PropertyDataType dataType) const |
Finds a property type descriptor by name and data type. More... | |
AbstractPropertyTypeDescriptor * | findPropertyTypeDescriptorByQualifiedNameAndDataType (string_view qualifiedName, PropertyDataType dataType) const |
Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with qualified names. More... | |
AbstractPropertyTypeDescriptor * | findPropertyTypeDescriptorByUnqualifiedNameAndDataType (string_view unqualifiedName, PropertyDataType dataType) const |
Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with unqualified names. More... | |
AbstractPropertyTypeDescriptor::ValueSource * | getClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const |
AbstractPropertyTypeDescriptor::ValueSource * | getFinalValueSource (AbstractPropertyTypeDescriptor &descriptor) const |
AbstractPropertyTypeDescriptor::ValueSource * | getNonClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const |
AbstractPropertyTypeDescriptor::ValueSource * | getTopValueSource (AbstractPropertyTypeDescriptor &descriptor) const |
Gets the top-level value source for a given property descriptor. More... | |
virtual void | notifyPropertyHandlers (PropertyStoragePtr &storagePtr, PropertyNotificationReason reason) |
Notifies all property handlers on a property storage. More... | |
void | onCopy (const PropertyObject &other) |
void | removeLocalValue (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage) |
Removes a local value from the given property storage. More... | |
void | removePropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, void *owner) |
Removes a property value source. More... | |
void | validatePropertyModifiers (PropertyStoragePtr &propertyStorage) |
Validates property modifiers without notifying handlers. More... | |
void | validatePropertyModifiersAndNotifyHandlers (PropertyStoragePtr &propertyStorage) |
Validates property modifiers and notifies handlers. More... | |
Protected Member Functions inherited from kanzi::BindingHostConceptImpl< RenderPass > | |
RenderPass * | getThisObject () |
Internal accessor for the Curiously Recurring Template Pattern. More... | |
const RenderPass * | getThisObject () const |
Internal accessor for the Curiously Recurring Template Pattern. More... | |
Protected Member Functions inherited from kanzi::BindingHostConcept | |
void | attachBindings () |
Attach all bindings stored in this object. More... | |
void | detachBindings () |
Detach bindings. More... | |
Static Protected Member Functions | |
static void | sampleCountWarningCheck (const RenderPass &renderPass, const CompositionManager::Target &target, unsigned int requestedSamples) |
Issues a warning if the sample count does not match the requested value. More... | |
static bool | updateMultisampleDrawTarget (optional< CompositionManager::Target > &drawTarget, CompositionManager &compositionManager, const CompositionFormatSettings &settings, const CompositionRequirements &requirements) |
Updates temporary multisample draw target allocated. More... | |
static bool | updateResultTarget (optional< CompositionManager::Target > &resultTarget, CompositionManager &compositionManager, const CompositionFormatSettings &settings, const CompositionRequirements &requirements) |
Updates persistent result target allocated. More... | |
Protected Attributes | |
optional< Sampler::AddressingMode > | m_cachedAddressingMode |
Cached addressing mode to avoid property access each frame. More... | |
CompositionRequirements | m_cachedCompositionRequirements |
Cached child composition requirements. More... | |
optional< GraphicsCompareFunction > | m_cachedDepthCompareFunction |
Cached depth compare function to avoid property access each frame. More... | |
optional< GraphicsFormat > | m_cachedDepthRenderbufferFormat |
Cached depth renderbuffer format to avoid property access each frame. More... | |
optional< GraphicsFormat > | m_cachedDepthTextureFormat |
Cached depth texture format to avoid property access each frame. More... | |
optional< Sampler::Filter > | m_cachedFilterMode |
Cached filter mode to avoid property access each frame. More... | |
optional< int > | m_cachedHeight |
Cached width to avoid property access each frame. More... | |
optional< Sampler::MipmapMode > | m_cachedMipmapMode |
Cached mipmap mode to avoid property access each frame. More... | |
optional< MultisampleCount > | m_cachedMultisampleLevel |
Cached multisample level to avoid property access each frame. More... | |
array< optional< GraphicsFormat >, 4u > | m_cachedPixelFormat |
Cached pixel formats to avoid property access each frame. More... | |
unsigned int | m_cachedResolutionDivisor |
Cached resolution divisor to avoid property access each frame. More... | |
unsigned int | m_cachedResolutionMultiplier |
Cached resolution multiplier to avoid property access each frame. More... | |
Vector2 | m_cachedViewportSize |
Cached viewport size. More... | |
optional< int > | m_cachedWidth |
Cached width to avoid property access each frame. More... | |
unsigned int | m_compositionHeight |
Composition height used that will be resolved into composition target. More... | |
array< TextureSharedPtr, 4u > | m_compositionTarget |
Cached composition targets assigned from outside the object. More... | |
unsigned int | m_compositionWidth |
Composition width used that will be resolved into composition target. More... | |
TextureSharedPtr | m_depthTarget |
Cached depth target assigned from outside the object. More... | |
Framebuffer | m_framebuffer |
Framebuffer for maintaining multiple render targets. More... | |
array< optional< CompositionManager::Target >, 4u > | m_multisampleDrawTarget |
Composition targets used for rendering if multisampling is enabled. More... | |
array< optional< CompositionManager::Target >, 4u > | m_resultTarget |
Composition targets used for rendering or used as multisample resolve targets if multisampling is enabled. More... | |
bool | m_updateRequired |
Update is an expensive operation. Only perform it if any of the properties change. More... | |
Protected Attributes inherited from kanzi::RenderPass | |
AttachmentState | m_attachmentState |
Render pass attachment state. More... | |
ChildContainer | m_children |
Child render passes. More... | |
bool | m_enabled |
Render pass enabled state. More... | |
Node * | m_hostNode |
Pointer to host node this render pass is attached under. More... | |
PropertyType< Vector4 >::Descriptor::TypedValueSource | m_inputViewportAreaValueSource |
Value source for the input viewport area property. More... | |
RenderPass * | m_parent |
Pointer to parent render pass. More... | |
weak_ptr< RenderPass > | m_templateRoot |
Weak pointer to template root object of this render pass. More... | |
Protected Attributes inherited from kanzi::Object | |
AppliedStyleContainer | m_appliedStyles |
Listing of applied styles applied to this object. More... | |
Protected Attributes inherited from kanzi::BindingHostConcept | |
BindingRuntimeContainer | m_bindingRuntimes |
Bindings in this object. More... | |
Properties | |
static PropertyType< ResourceSharedPtr > | CompositionTarget0Property |
Sets the target that you want to use as the first color render target of this render pass. More... | |
static PropertyType< ResourceSharedPtr > | CompositionTarget1Property |
Sets the target that you want to use as the second color render target of this render pass. More... | |
static PropertyType< ResourceSharedPtr > | CompositionTarget2Property |
Sets the target that you want to use as the third color render target of this render pass. More... | |
static PropertyType< ResourceSharedPtr > | CompositionTarget3Property |
Sets the target that you want to use as the fourth color render target of this render pass. More... | |
static PropertyType< ResourceSharedPtr > | DepthTargetProperty |
Sets the target to which you want to render the depth render target of this render pass. More... | |
static PropertyType< ResourceSharedPtr > | ResultTexture0Property |
When Kanzi executes this render pass, it sets the value of the Result Texture 0 property to the first composition target. More... | |
static PropertyType< ResourceSharedPtr > | ResultTexture1Property |
When Kanzi executes this render pass, it sets the value of the Result Texture 1 property to the second composition target. More... | |
static PropertyType< ResourceSharedPtr > | ResultTexture2Property |
When Kanzi executes this render pass, it sets the value of the Result Texture 2 property to the third composition target. More... | |
static PropertyType< ResourceSharedPtr > | ResultTexture3Property |
When Kanzi executes this render pass, it sets the value of the Result Texture 3 property to the fourth composition target. More... | |
static PropertyType< ResourceSharedPtr > | ResultDepthTextureProperty |
Gets the depth texture to which this Composition Target Render Pass renders its content. More... | |
static PropertyType< int > | ResolutionMultiplierProperty |
Sets the value with which you want to multiply the resolution of the automatically created composition target textures. More... | |
static PropertyType< int > | WidthProperty |
Sets the absolute width of the automatically created composition target textures. More... | |
static PropertyType< int > | HeightProperty |
Sets the absolute height of the automatically created composition target textures. More... | |
static PropertyType< int > | ResolutionDivisorProperty |
Sets the value with which you want to divide the resolution of the automatically created composition target textures. More... | |
static PropertyType< GraphicsFormat > | PixelFormat0Property |
Sets on the GPU the target pixel format of the first automatically created composition target texture. More... | |
static PropertyType< GraphicsFormat > | PixelFormat1Property |
Sets on the GPU the target pixel format of the second automatically created composition target texture. More... | |
static PropertyType< GraphicsFormat > | PixelFormat2Property |
Sets on the GPU the target pixel format of the third automatically created composition target texture. More... | |
static PropertyType< GraphicsFormat > | PixelFormat3Property |
Sets on the GPU the target pixel format of the fourth automatically created composition target texture. More... | |
static PropertyType< GraphicsFormat > | DepthTextureFormatProperty |
Sets the format of the automatically created depth composition target. More... | |
static PropertyType< GraphicsFormat > | DepthRenderbufferFormatProperty |
Sets the graphics format of the depth renderbuffers. More... | |
static PropertyType< Sampler::AddressingMode > | AddressingModeProperty |
Sets how Kanzi handles the texture coordinates of the automatically generated composition target textures outside of the [0, 0] - [1, 1] rectangle: More... | |
static PropertyType< Sampler::Filter > | FilterModeProperty |
Sets how Kanzi samples texels when using the composition target as a texture: More... | |
static PropertyType< Sampler::MipmapMode > | MipmapModeProperty |
Sets how Kanzi generates mipmaps for the automatically generated composition target texture: More... | |
static PropertyType< MultisampleCount > | MultisampleLevelProperty |
Sets the number of samples to use for each output pixel of the automatically generated composition target textures. More... | |
static PropertyType< bool > | ResolveImmediatelyProperty |
Indicates whether the Composition Target Render Pass resolves multisampling and generates mipmaps immediately after rendering, instead of delaying the resolve operations until the result composition target is referenced. More... | |
static PropertyType< GraphicsCompareFunction > | DepthCompareFunctionProperty |
Sets the function that you want to use when comparing depth values with comparison samplers. More... | |
TextureSharedPtr | getCompositionTarget0 () const |
Gets the value of the CompositionTarget0Property property. More... | |
void | setCompositionTarget0 (TextureSharedPtr value) |
Sets the value of the CompositionTarget0Property property. More... | |
TextureSharedPtr | getCompositionTarget1 () const |
Gets the value of the CompositionTarget1Property property. More... | |
void | setCompositionTarget1 (TextureSharedPtr value) |
Sets the value of the CompositionTarget1Property property. More... | |
TextureSharedPtr | getCompositionTarget2 () const |
Gets the value of the CompositionTarget2Property property. More... | |
void | setCompositionTarget2 (TextureSharedPtr value) |
Sets the value of the CompositionTarget2Property property. More... | |
TextureSharedPtr | getCompositionTarget3 () const |
Gets the value of the CompositionTarget3Property property. More... | |
void | setCompositionTarget3 (TextureSharedPtr value) |
Sets the value of the CompositionTarget3Property property. More... | |
TextureSharedPtr | getResultTexture0 () const |
Gets the value of the ResultTexture0Property property. More... | |
void | setResultTexture0 (TextureSharedPtr value) |
Sets the value of the ResultTexture0Property property. More... | |
TextureSharedPtr | getResultDepthTexture () const |
Gets the value of the ResultDepthTextureProperty property. More... | |
void | setResultDepthTexture (TextureSharedPtr value) |
Sets the value of the ResultDepthTextureProperty property. More... | |
int | getResolutionMultiplier () const |
Gets the value of the ResolutionMultiplierProperty property. More... | |
void | setResolutionMultiplier (int value) |
Sets the value of the ResolutionMultiplierProperty property. More... | |
int | getWidth () const |
Gets the value of the WidthProperty property. More... | |
void | setWidth (int value) |
Sets the value of the WidthProperty property. More... | |
int | getHeight () const |
Gets the value of the HeightProperty property. More... | |
void | setHeight (int value) |
Sets the value of the HeightProperty property. More... | |
int | getResolutionDivisor () const |
Gets the value of the ResolutionDivisorProperty property. More... | |
void | setResolutionDivisor (int value) |
Sets the value of the ResolutionDivisorProperty property. More... | |
GraphicsFormat | getPixelFormat0 () const |
Gets the value of the PixelFormat0Property property. More... | |
void | setPixelFormat0 (GraphicsFormat value) |
Sets the value of the the PixelFormat0Property property. More... | |
GraphicsFormat | getPixelFormat1 () const |
Gets the value of the PixelFormat1Property property. More... | |
void | setPixelFormat1 (GraphicsFormat value) |
Sets the value of the the PixelFormat1Property property. More... | |
GraphicsFormat | getPixelFormat2 () const |
Gets the value of the PixelFormat2Property property. More... | |
void | setPixelFormat2 (GraphicsFormat value) |
Sets the value of the the PixelFormat2Property property. More... | |
GraphicsFormat | getPixelFormat3 () const |
Gets the value of the PixelFormat3Property property. More... | |
void | setPixelFormat3 (GraphicsFormat value) |
Sets the value of the the PixelFormat3Property property. More... | |
GraphicsFormat | getDepthTextureFormat () const |
Gets the value of the DepthTextureFormatProperty. More... | |
void | setDepthTextureFormat (GraphicsFormat value) |
Sets the value of the DepthTextureFormatProperty. More... | |
GraphicsFormat | getDepthRenderBufferFormat () const |
Gets the value of the DepthRenderbufferFormatProperty. More... | |
void | setDepthRenderBufferFormat (GraphicsFormat value) |
Sets the value of the DepthRenderbufferFormatProperty. More... | |
Sampler::Filter | getFilterMode () const |
Gets the value of the FilterModeProperty. More... | |
void | setFilterMode (Sampler::Filter value) |
Sets the value of the FilterModeProperty. More... | |
Sampler::MipmapMode | getMipmapMode () const |
Gets the value of the MipmapModeProperty. More... | |
void | setMipmapMode (Sampler::MipmapMode value) |
Sets the value of the MipmapModeProperty. More... | |
MultisampleCount | getMultisampleLevel () const |
Gets the value of the MultisampleLevelProperty. More... | |
void | setMultisampleLevel (MultisampleCount value) |
Sets the value of the MultisampleLevelProperty. More... | |
bool | isResolveImmediately () const |
Gets the value of the ResolveImmediatelyProperty. More... | |
void | setResolveImmediately (bool value) |
Sets the value of the ResolveImmediatelyProperty. More... | |
GraphicsCompareFunction | getDepthCompareFunction () const |
Gets the value of DepthCompareFunctionProperty. More... | |
void | setDepthCompareFunction (GraphicsCompareFunction value) |
Sets the value of the DepthCompareFunctionProperty. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::RenderPass | |
enum | AttachmentState { Detached, Detaching, Attaching, Attached } |
Attachment state for keeping track current status. More... | |
typedef BindingRuntimeContainer::const_iterator | BindingRuntimeConstIterator |
Const iterator type for binding runtime container. More... | |
typedef vector< AbstractBindingRuntimeSharedPtr > | BindingRuntimeContainer |
Container type for binding runtimes. More... | |
typedef BindingRuntimeContainer::iterator | BindingRuntimeIterator |
Iterator type for binding runtime container. More... | |
using | CameraSettingsPtr = unique_ptr< CameraSettings > |
Camera settings unique pointer type. More... | |
typedef ChildContainer::const_iterator | ChildConstIterator |
Child container iterator type. More... | |
typedef vector< RenderPassSharedPtr > | ChildContainer |
Container type for children. More... | |
Public Types inherited from kanzi::PropertyObject | |
typedef PropertyStorageContainer::const_iterator | PropertyStorageConstIterator |
typedef vector< PropertyStoragePtr > | PropertyStorageContainer |
typedef PropertyStorageContainer::iterator | PropertyStorageIterator |
typedef intrusive_ptr< AbstractPropertyTypeDescriptor::PropertyStorage > | PropertyStoragePtr |
typedef PropertyStorageContainer::reverse_iterator | PropertyStorageReverseIterator |
Public Types inherited from kanzi::BindingHostConcept | |
using | BindingHostConceptSharedPtr = shared_ptr< BindingHostConcept > |
Binding host concept shared pointer type. More... | |
using | BindingRuntimeConstIterator = BindingRuntimeContainer::const_iterator |
Const iterator for binding runtimes. More... | |
using | BindingRuntimeContainer = vector< AbstractBindingRuntimeSharedPtr > |
Container for binding runtimes. More... | |
using | BindingRuntimeIterator = BindingRuntimeContainer::iterator |
Iterator for binding runtimes. More... | |
Static Public Attributes inherited from kanzi::RenderPass | |
static PropertyType< string > | CameraProperty |
Sets the Camera node that you want this render pass to use to render content. More... | |
static PropertyType< bool > | EnabledProperty |
Use the Enabled property to turn render passes and render pass trees on or off. More... | |
static PropertyType< Vector4 > | InputViewportAreaProperty |
Reports the size of the Viewport 2D that uses this render pass. More... | |
Protected Types inherited from kanzi::Object | |
typedef vector< AppliedStyleEntrySharedPtr > | AppliedStyleContainer |
Applied style container. More... | |
Use the Composition Target Render Pass to set one to four composition targets and render all descendant render passes to the composition targets that the Composition Target Render Pass created.
If you set multiple composition targets, rendering can write to all specified buffers at the same time. See Using multiple composition targets. After Kanzi renders the descendant render passes of a Composition Target Render Pass, the Composition Target Render Pass restores the earlier composition settings.
Composition Target Render Pass by default creates one composition target whose size is the same as the size of the current Viewport 2D node using the RGBA pixel format and depth buffer. To configure the composition target, you can:
You can set a Composition Target Render Pass to use a composition target texture that you create somewhere else with the CompositionTarget0Property property. The render pass for which you set the composition target texture with this property does not create its own render target.
For example, to use a custom render target texture, bind the CompositionTarget0Property property of a Composition Target Render Pass to properties of other render passes. Use the DepthTargetProperty to set the depth texture.
To set a Composition Target Render Pass to render to multiple render target textures, use these properties to set each render target texture:
When you use the result target properties from other CompositionTargetRenderPass render passes to render incrementally into the targets, set the ResolveImmediatelyProperty to false in the original CompositionTargetRenderPass.
The size settings of the explicitly defined composition targets must match. If you do not explicitly define some of the composition targets, the size of the explicitly defined composition targets must match the size that Kanzi automatically calculates for the viewport. Kanzi discards all composition targets with mismatches in their sizes and instead creates a composition target automatically.
To access the result of a Composition Target Render Pass:
The texture that the getResultTexture0() function returns is not necessarily the texture that a Composition Target Render Pass rendered, or the texture set to the CompositionTarget0Property. For example, if you use multisampling, the getResultTexture0() function returns the target, where it resolves multiple samples into a 2D texture.
If a Composition Target Render Pass was not executed, the result of the getResultTexture0() function is undefined.
To use the result textures of a Composition Target Render Pass in another render pass, create bindings to these properties:
For example, in a Blit Render Pass you can bind the BlitRenderPass::Texture0Property to the ResultTexture0Property of a Composition Target Render Pass, the BlitRenderPass::Texture1Property to the ResultTexture1Property, and so on.
You can use the result texture properties to access the result textures of both the explicitly defined composition targets and the composition targets generated automatically by the Composition Target Render Pass.
To avoid needlessly updating the bindings that read these properties, Kanzi updates the values of these properties only when the associated composition targets change or disappear.
Use the ResolveImmediatelyProperty to set whether to resolve multisamples and generate mipmaps for the composition targets immediately after rendering. By default the Composition Render Target Render Pass resolves multisamples and generates mipmaps immediately, but if you use some or all of the composition targets for further rendering elsewhere, you can set the value of this property to false. This way you delay the resolve operations until the result composition target is referenced.
You can set a Composition Target Render Pass to render to up to 4 composition targets at the same time. To control the pixel format of a composition target, set its pixel format property:
The Pixel Format property with the highest index sets the number of composition targets that Kanzi creates for a Composition Target Render Pass. If you do not set some of the Pixel Format properties, those properties get their value from a Pixel Format property with a higher index whose value is set. For example, if you set the values of the PixelFormat0Property and PixelFormat2Property, Kanzi creates three composition targets and:
To set the same pixel format for all composition targets, you can set the corresponding highest-index pixel format property and remove the other pixel format properties.
Use the DepthTextureFormatProperty to set the format for a depth texture. When you do not set the DepthTextureFormatProperty, but the rendering settings require depth testing to render the child render passes, Kanzi automatically creates a depth renderbuffer. When you set the DepthTextureFormatProperty, Kanzi creates a depth texture that you can access with the ResultDepthTextureProperty.
To create a Composition Target Render Pass with multiple output textures:
To use the result textures from a Composition Target Render Pass in a Blit Render Pass:
To use a Composition Target Render Pass with a custom render target with automatic size:
|
explicitprotected |
Constructor.
domain | The domain to use. |
name | The name of the Composition Target Render Pass. |
|
inline |
Gets the value of the CompositionTarget0Property property.
|
inline |
Sets the value of the CompositionTarget0Property property.
value | The new value of the Composition Target 0 property. |
|
inline |
Gets the value of the CompositionTarget1Property property.
|
inline |
Sets the value of the CompositionTarget1Property property.
value | The new value of the Composition Target 1 property. |
|
inline |
Gets the value of the CompositionTarget2Property property.
|
inline |
Sets the value of the CompositionTarget2Property property.
value | The new value of the Composition Target 2 property. |
|
inline |
Gets the value of the CompositionTarget3Property property.
|
inline |
Sets the value of the CompositionTarget3Property property.
value | The new value of the Composition Target 3 property. |
|
inline |
Gets the value of the ResultTexture0Property property.
|
inline |
Sets the value of the ResultTexture0Property property.
value | The new value of the Result Texture 0 property. |
|
inline |
Gets the value of the ResultDepthTextureProperty property.
|
inline |
Sets the value of the ResultDepthTextureProperty property.
value | The new value of the Result Depth Texture property. |
|
inline |
Gets the value of the ResolutionMultiplierProperty property.
|
inline |
Sets the value of the ResolutionMultiplierProperty property.
value | The new value of the Resolution Multiplier property. |
|
inline |
Gets the value of the WidthProperty property.
|
inline |
Sets the value of the WidthProperty property.
value | The new value of the Width property. |
|
inline |
Gets the value of the HeightProperty property.
|
inline |
Sets the value of the HeightProperty property.
value | The new value of the Width property. |
|
inline |
Gets the value of the ResolutionDivisorProperty property.
|
inline |
Sets the value of the ResolutionDivisorProperty property.
value | The new value of the Resolution Divisor property. |
|
inline |
Gets the value of the PixelFormat0Property property.
|
inline |
Sets the value of the the PixelFormat0Property property.
value | The new value of the Pixel Format 0 property. |
|
inline |
Gets the value of the PixelFormat1Property property.
|
inline |
Sets the value of the the PixelFormat1Property property.
value | The new value of the Pixel Format 1 property. |
|
inline |
Gets the value of the PixelFormat2Property property.
|
inline |
Sets the value of the the PixelFormat2Property property.
value | The new value of the Pixel Format 2 property. |
|
inline |
Gets the value of the PixelFormat3Property property.
|
inline |
Sets the value of the the PixelFormat3Property property.
value | The new value of the Pixel Format 3 property. |
|
inline |
Gets the value of the DepthTextureFormatProperty.
|
inline |
Sets the value of the DepthTextureFormatProperty.
value | The new value of the Depth Texture Format property. |
|
inline |
Gets the value of the DepthRenderbufferFormatProperty.
|
inline |
Sets the value of the DepthRenderbufferFormatProperty.
value | The depth renderbuffer format. |
|
inline |
Gets the value of the FilterModeProperty.
|
inline |
Sets the value of the FilterModeProperty.
value | The new value of the Filter Mode property. |
|
inline |
Gets the value of the MipmapModeProperty.
|
inline |
Sets the value of the MipmapModeProperty.
value | The new value of the Mipmap Mode property. |
|
inline |
Gets the value of the MultisampleLevelProperty.
|
inline |
Sets the value of the MultisampleLevelProperty.
value | The new value of the Multisample Level property. |
|
inline |
Gets the value of the ResolveImmediatelyProperty.
|
inline |
Sets the value of the ResolveImmediatelyProperty.
value | The new value of the Resolve Immediately property. |
|
inline |
Gets the value of DepthCompareFunctionProperty.
|
inline |
Sets the value of the DepthCompareFunctionProperty.
value | The value of the Depth Compare Function property. |
|
static |
|
static |
Creates a Composition Target Render Pass.
domain | The domain to use. |
name | The name of the Composition Target Render Pass. |
|
inline |
Gets the internal framebuffer structure.
This function is intended for use in test, the framebuffer should not be modified by user.
|
inline |
Gets the internal framebuffer structure (const version).
This function is intended for use in test, the framebuffer should not be modified by user.
|
overrideprotectedvirtual |
RenderPass::renderOverride() implementation.
Reimplemented from kanzi::RenderPass.
|
overrideprotectedvirtual |
RenderPass::getCompositionRequirements() implementation.
Reimplemented from kanzi::RenderPass.
|
overrideprotectedvirtual |
Object::onPropertyChanged() implementation.
Reimplemented from kanzi::PropertyObject.
|
overrideprotectedvirtual |
RenderPass::onDetached() implementation.
Reimplemented from kanzi::RenderPass.
|
overrideprotectedvirtual |
RenderPass::restoreResources() implementation.
Reimplemented from kanzi::RenderPass.
|
protected |
Gets the composition settings based on explicitly set composition target.
compositionTarget | Existing composition target. |
sizeSettings | Composition size settings. |
colorFormat | Pixel format value for potential automatic composition target. |
|
protected |
Gets the composition settings based on properties.
colorFormat | Requested color format. |
depthTextureFormat | Requested depth texture format. |
depthRenderbufferFormat | Requested depth renderbuffer format. |
sizeSettings | Composition size settings. |
|
staticprotected |
Updates temporary multisample draw target allocated.
drawTarget | Draw target being updated. |
compositionManager | Composition Manager to use. |
settings | Format settings. |
requirements | Child composition requirements. |
|
staticprotected |
Updates persistent result target allocated.
resultTarget | Result target being updated. |
compositionManager | Composition Manager to use. |
settings | Format settings. |
requirements | Child composition requirements. |
|
staticprotected |
Issues a warning if the sample count does not match the requested value.
renderPass | Render pass creating a composition target. |
target | Draw target being updated. |
requestedSamples | Sample count that was requested. |
|
protected |
Updates the composition targets based on properties and potential existing composition target.
drawTarget | The draw target to update. |
resultTarget | The result target to update. |
renderer | Renderer. |
colorTarget | User-set color target from properties. |
settings | Format settings. |
requirements | Child composition requirements. |
|
protected |
Updates all composition settings.
renderer | Renderer to use. |
viewportSize | Viewport size from composition stack. |
childCompositionRequirements | Composition requirements passed from children. |
|
protected |
Resolves composition targets and sets appropriate properties.
renderer | Renderer to use. |
compositionStack | Composition stack to use. |
drawTarget | The draw target to update. |
resultTarget | The result target to update. |
|
protected |
Clear internal resources that Kanzi created when executing this render pass.
Also clears result properties. Executed internally when CompositionTargetRenderPass becomes detached.
|
static |
Sets the target that you want to use as the first color render target of this render pass.
The default value is ResourceSharedPtr().
|
static |
Sets the target that you want to use as the second color render target of this render pass.
The default value is ResourceSharedPtr().
|
static |
Sets the target that you want to use as the third color render target of this render pass.
The default value is ResourceSharedPtr().
|
static |
Sets the target that you want to use as the fourth color render target of this render pass.
The default value is ResourceSharedPtr().
|
static |
Sets the target to which you want to render the depth render target of this render pass.
The default value is ResourceSharedPtr().
|
static |
When Kanzi executes this render pass, it sets the value of the Result Texture 0 property to the first composition target.
The default value is ResourceSharedPtr().
|
static |
When Kanzi executes this render pass, it sets the value of the Result Texture 1 property to the second composition target.
The default value is ResourceSharedPtr().
|
static |
When Kanzi executes this render pass, it sets the value of the Result Texture 2 property to the third composition target.
The default value is ResourceSharedPtr().
|
static |
When Kanzi executes this render pass, it sets the value of the Result Texture 3 property to the fourth composition target.
The default value is ResourceSharedPtr().
|
static |
Gets the depth texture to which this Composition Target Render Pass renders its content.
The default value is ResourceSharedPtr().
|
static |
Sets the value with which you want to multiply the resolution of the automatically created composition target textures.
This property, together with the ResolutionDivisorProperty property, sets the size of the composition target in relation to the size of the current Viewport2D node. The default value is 1.
|
static |
Sets the absolute width of the automatically created composition target textures.
If you do not set this property, Kanzi takes the width of the composition target from the current size of the composition stack using ResolutionMultiplierProperty and ResolutionDivisorProperty.
|
static |
Sets the absolute height of the automatically created composition target textures.
If you do not set this property, Kanzi takes the height of the composition target from the current size of the composition stack using ResolutionMultiplierProperty and ResolutionDivisorProperty.
|
static |
Sets the value with which you want to divide the resolution of the automatically created composition target textures.
This property, together with the ResolutionMultiplierProperty property, sets the size of the composition target in relation to the size of the current Viewport2D node. The default value is 1.
|
static |
Sets on the GPU the target pixel format of the first automatically created composition target texture.
The default value is RGBA.
|
static |
Sets on the GPU the target pixel format of the second automatically created composition target texture.
The default value is RGBA.
|
static |
Sets on the GPU the target pixel format of the third automatically created composition target texture.
The default value is RGBA.
|
static |
Sets on the GPU the target pixel format of the fourth automatically created composition target texture.
The default value is RGBA.
|
static |
Sets the format of the automatically created depth composition target.
If you do not set this property, Kanzi uses a depth renderbuffer if needed.
|
static |
Sets the graphics format of the depth renderbuffers.
The available formats are:
When you do not set this property, Kanzi sets the depth renderbuffer format automatically to the best available option. In most cases this is the 32-bit float format, which consumes the most memory.
The value of the DepthTextureFormatProperty overrides the value of this property.
|
static |
Sets how Kanzi handles the texture coordinates of the automatically generated composition target textures outside of the [0, 0] - [1, 1] rectangle:
|
static |
Sets how Kanzi samples texels when using the composition target as a texture:
|
static |
Sets how Kanzi generates mipmaps for the automatically generated composition target texture:
|
static |
Sets the number of samples to use for each output pixel of the automatically generated composition target textures.
To disable multisampling, remove the property or set the property value to NoMSAA. The default value is NoMSAA.
|
static |
Indicates whether the Composition Target Render Pass resolves multisampling and generates mipmaps immediately after rendering, instead of delaying the resolve operations until the result composition target is referenced.
The default value is false.
|
static |
Sets the function that you want to use when comparing depth values with comparison samplers.
The default value is kanzi::GraphicsCompareFunctionDisabled.
|
protected |
Cached resolution multiplier to avoid property access each frame.
|
protected |
Cached resolution divisor to avoid property access each frame.
|
protected |
Cached width to avoid property access each frame.
|
protected |
Cached width to avoid property access each frame.
|
protected |
Cached pixel formats to avoid property access each frame.
|
protected |
Cached depth texture format to avoid property access each frame.
|
protected |
Cached depth renderbuffer format to avoid property access each frame.
|
protected |
Cached depth compare function to avoid property access each frame.
|
protected |
Cached addressing mode to avoid property access each frame.
|
protected |
Cached filter mode to avoid property access each frame.
|
protected |
Cached mipmap mode to avoid property access each frame.
|
protected |
Cached multisample level to avoid property access each frame.
|
protected |
Cached composition targets assigned from outside the object.
|
protected |
Cached depth target assigned from outside the object.
|
protected |
Cached viewport size.
|
protected |
Cached child composition requirements.
Additional source of potential requirement to run update.
|
protected |
Composition targets used for rendering or used as multisample resolve targets if multisampling is enabled.
Kanzi creates this result implicitly if the CompositionTarget1Property, CompositionTarget2Property, and CompositionTarget3Property properties are not set.
|
protected |
Composition targets used for rendering if multisampling is enabled.
Kanzi acquires this target implicitly if the CompositionTarget1Property, CompositionTarget2Property, and CompositionTarget3Property properties are not set and multisampling is enabled.
|
protected |
Composition width used that will be resolved into composition target.
|
protected |
Composition height used that will be resolved into composition target.
|
protected |
Framebuffer for maintaining multiple render targets.
|
protected |
Update is an expensive operation. Only perform it if any of the properties change.