Click or drag to resize
Ab4d.SharpEngine logo

ThickLineEffect Class

Inheritance Hierarchy
SystemObject
  Ab4d.SharpEngine.CoreComponentBase
    Ab4d.SharpEngine.CoreSceneComponent
      Ab4d.SharpEngine.EffectsEffect
        Ab4d.SharpEngine.EffectsThickLineEffect

Namespace: Ab4d.SharpEngine.Effects
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
Syntax
C#
public sealed class ThickLineEffect : Effect

The ThickLineEffect type exposes the following members.

Properties
 NameDescription
Public propertyLineRasterizationMode Gets or sets the mode that specifies how the 3D lines are rendered. When the ThickLineEffect is created, this value is set to GeometryShader. If this is not changed by the used, then when this effect is initialized, then this value is set to the LineRasterizationMode from the Scene object. If the selected mode is not supported by the system, then a supported mode is used (VulkanSinglePixelWideLines is used as a fallback value).
Public propertyOverrideLineColor Gets or sets a Color4 that will be used as line color for all objects rendered by this effect. This property can be set only on custom effect instance (IsDefaultEffect is false) that is created by CreateNew method and cannot be changed on default implementation of the effect (get by GetDefault method).
Public propertyOverrideLineStippleFactor Gets or sets a float that will be used as repeat factor in stippled line (LinePatternScale) for all objects rendered by this effect. This property can be set only on custom effect instance (IsDefaultEffect is false) that is created by CreateNew method and cannot be changed on default implementation of the effect (get by GetDefault method).
Public propertyOverrideLineStipplePattern Gets or sets a ushort value that will be used as line stipple pattern (LinePattern) for all objects rendered by this effect. This property can be set only on custom effect instance (IsDefaultEffect is false) that is created by CreateNew method and cannot be changed on default implementation of the effect (get by GetDefault method).
Public propertyOverrideLineThickness Gets or sets a float that will be used as line thickness for all objects rendered by this effect. This property can be set only on custom effect instance (IsDefaultEffect is false) that is created by CreateNew method and cannot be changed on default implementation of the effect (get by GetDefault method).
Top
Methods
 NameDescription
Public methodApplyRenderingItemMaterial ApplyRenderingItemMaterial method sets the EffectTechnique, MaterialDescriptorSets and StateSortValue properties on the specified renderingItem.
(Overrides EffectApplyRenderingItemMaterial(RenderingItem, Material, RenderingContext))
Public methodCleanup Cleanup method checks all memory blocks. Memory block is freed when it is empty and freeEmptyMemoryBlocks is true or when it empty for at least EngineRuntimeOptions.FramesCountToReleaseEmptyMemoryBlock frames.
(Overrides EffectCleanup(Boolean, Boolean))
Public methodStatic memberCreateNew 
Public methodDisposeMaterial DisposeMaterial disposes the resources that are used by the specified material. Note that this method can be called on another thread. This happen when it is called called from destructor (finalizer).
(Overrides EffectDisposeMaterial(Material))
Public methodStatic memberGetDefault 
Public methodGetMemoryInfo GetMemoryInfo method returns a string that provides information about the memory usage of this effect.
(Overrides EffectGetMemoryInfo(Boolean))
Public methodInitializeMaterial Initializes the material with this effect. This method is called when the specified material is used for the first time. This usually assigns the buffer and an index in the buffer to the material.
(Overrides EffectInitializeMaterial(Material))
Public methodStatic memberIsGeometryShaderSupported 
Public methodStatic memberIsLineRasterizationModeSupported 
Public methodStatic memberIsVulkanLineRasterizerSupported 
Public methodStatic memberIsVulkanStippleLineRasterizerSupported 
Public methodOnBeginUpdate OnBeginUpdate method needs to be implemented by the effect class. The method is called from the BeginUpdate(RenderingContext) method. It can be used to read some data from the RenderingContext (for example CurrentSwapChainImageIndex). It is used with the OnEndUpdate method to prepare all the data for the next rendered frame.
(Overrides EffectOnBeginUpdate(RenderingContext))
Public methodOnEndUpdate OnEndUpdate method needs to be implemented by the effect class. The method is called from the EndUpdate method. This method can update the material's buffers in case any of the material was changed.
(Overrides EffectOnEndUpdate)
Public methodResetPipelines ResetPipelines is called when RenderPass or some other property of Pipeline is changed so that existing pipelines need to be recreated.
(Overrides EffectResetPipelines)
Public methodUpdateMaterial UpdateMaterial method is called when the material is changed and its data need to updated.
(Overrides EffectUpdateMaterial(Material))
Top
See Also