Click or drag to resize
Ab4d.SharpEngine logo

RenderingItem Class

RenderingItem defines properties that are required for one draw call. One or more RenderingItem objects are created in CollectRenderingItems(RenderingContext) method that is called for each SceneNode in the scene. The created RenderingItems are added to the RenderingLayers.
Inheritance Hierarchy
SystemObject
  Ab4d.SharpEngine.CoreRenderingItem

Namespace: Ab4d.SharpEngine.Core
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
Syntax
C#
public class RenderingItem

The RenderingItem type exposes the following members.

Constructors
 NameDescription
Public methodRenderingItem Constructor
Top
Properties
 NameDescription
Public propertyIsBackFaceMaterial IsBackFaceMaterial specifies if the material is used to render front (IsBackFaceMaterial == false) or back (IsBackFaceMaterial == true) faces. This property gets or set the flag from the Flags field.
Public propertyIsVisible When IsVisible property is false this prevents rendering this RenderingItem. This property gets or set the flag from the Flags field. Note that Flags have IsHidden flag so this property inverts the presence of IsHidden flag. The reason for this is that this way the majority of objects can have have no Flags set (they are not processes in any special way).
Top
Methods
 NameDescription
Public methodStatic memberCreateFromPool Create method get the RenderingItem from the ObjectPool in Scene and returns the created object. The method also initialize all the fields to default values and sets the ParentSceneNode, WorldBoundingBox and Flags (IsHidden flag is set if ).
Public methodReturnObject ReturnObject returns object to the object pool in Scene.
Public methodToString
(Overrides ObjectToString)
Top
Fields
 NameDescription
Public fieldAdditionalVertexBuffers When AdditionalVertexBuffers is not null, then the array items that are not null are bind to vertex buffer starting with binding 1. This array does not include the VertexBuffer so that the primary vertex buffer address is included into the same memory block that defines this RenderingItem (the item in the array are defined elsewhere in memory).
Public fieldCustomRenderAction When CustomRenderAction is set, then this action is called when rendering instead of calling vkCmdDrawIndexed.
Public fieldEffectTechnique EffectTechnique
Public fieldFirstIndex FirstIndex
Public fieldFirstInstance FirstInstance
Public fieldFlags Flags
Public fieldIndexBuffer IndexBuffer
Public fieldIndexBufferType IndexBufferType
Public fieldIndexCount Number of triangle indices (or vertexes when there is no IndexBuffer)
Public fieldInstanceCount InstanceCount (should be at least 1)
Public fieldMaterialDescriptorSets MaterialDescriptorSets
Public fieldMaterialIndex MaterialIndex (when bigger or equal to 0, then PushConstant is set to FragmentShader)
Public fieldMatricesDescriptorSets MatricesDescriptorSets
Public fieldMatrixIndex MatrixIndex
Public fieldParentSceneNode ParentSceneNode
Public fieldPrimitiveTopology PrimitiveTopology
Public fieldStateSortValue The state sort value represent an unsigned Int32 number that is a short hash value calculated from the properties of this RenderingItem (usually the value is defined from Effect's Id and effect's technique index) and can be used to sort and group similar RenderingItem. This optimizes optimize Pipeline changes and can improve performance.
Public fieldTag Tag
Public fieldVertexBuffer VertexBuffer
Public fieldVertexBufferDescription VertexBufferDescription
Public fieldVertexCount Number of vertices in the VertexBuffer
Public fieldVertexOffset VertexOffset
Public fieldWorldBoundingBox WorldBoundingBox
Top
See Also