Hex Terrains Framework
Search Results for

    Show / Hide Table of Contents

    Class BulkRendererAsset

    Config for render meshes in bulk. Contains meshes, materials and property blocks.

    Inheritance
    object
    Object
    ScriptableObject
    BulkRendererAsset
    Implements
    IBulkRenderer
    Inherited Members
    ScriptableObject.SetDirty()
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Fwt.Core.BulkRendering
    Assembly: fwt.core.dll
    Syntax
    [CreateAssetMenu(fileName = "BulkRenderer", menuName = "Fwt/Bulk Renderer/Bulk Renderer Asset")]
    public class BulkRendererAsset : ScriptableObject, IBulkRenderer

    Fields

    AddedMaterialProperties

    Declaration
    protected Dictionary<int, int> AddedMaterialProperties
    Field Value
    Type Description
    Dictionary<int, int>

    AddedMaterials

    Declaration
    protected Dictionary<int, int> AddedMaterials
    Field Value
    Type Description
    Dictionary<int, int>

    AddedMeshes

    Declaration
    protected Dictionary<int, int> AddedMeshes
    Field Value
    Type Description
    Dictionary<int, int>

    AddedPropertyBlocks

    Declaration
    protected Dictionary<int, int> AddedPropertyBlocks
    Field Value
    Type Description
    Dictionary<int, int>

    _materials

    Declaration
    [SerializeField]
    protected List<Material> _materials
    Field Value
    Type Description
    List<Material>

    _maxTransformsPerPass

    Declaration
    protected const int _maxTransformsPerPass = 1023
    Field Value
    Type Description
    int

    _meshes

    Declaration
    [SerializeField]
    protected List<Mesh> _meshes
    Field Value
    Type Description
    List<Mesh>

    _propertyBlocks

    Declaration
    [SerializeField]
    protected List<MaterialPropertyBlock> _propertyBlocks
    Field Value
    Type Description
    List<MaterialPropertyBlock>

    _transforms

    Declaration
    protected List<Matrix4x4> _transforms
    Field Value
    Type Description
    List<Matrix4x4>

    Properties

    Materials

    Declaration
    public List<Material> Materials { get; set; }
    Property Value
    Type Description
    List<Material>

    Meshes

    Declaration
    public List<Mesh> Meshes { get; set; }
    Property Value
    Type Description
    List<Mesh>

    PropertyBlocks

    Declaration
    public List<MaterialPropertyBlock> PropertyBlocks { get; set; }
    Property Value
    Type Description
    List<MaterialPropertyBlock>

    Methods

    ClearAll()

    Clears everything

    Declaration
    [ContextMenu("Clear All")]
    public virtual void ClearAll()

    InitAll()

    Ensures all lists and dictionaries are created

    Declaration
    public virtual void InitAll()

    MarkDirty()

    Declaration
    public virtual void MarkDirty()

    OnDisable()

    Declaration
    protected virtual void OnDisable()

    OnEnable()

    Declaration
    protected virtual void OnEnable()

    RecalcAssetIndexes()

    Goes over materials and meshes and recalculates the mesh index for every of them

    Declaration
    [ContextMenu("Recalculate Asset Indexes")]
    public virtual void RecalcAssetIndexes()

    RegisterMaterial(Material)

    Registers a material. Returns the index of material it's registered under. Returns -1 if failed

    Declaration
    public virtual int RegisterMaterial(Material material)
    Parameters
    Type Name Description
    Material material
    Returns
    Type Description
    int

    RegisterMaterialProperties(MaterialProperties)

    Registers a material property block created from given material properties. Creates a material property block from given materialProperties

    Declaration
    public virtual int RegisterMaterialProperties(MaterialProperties materialProperties)
    Parameters
    Type Name Description
    MaterialProperties materialProperties
    Returns
    Type Description
    int

    RegisterMesh(Mesh)

    Registers a mesh. Returns the index of mesh it's registered under. Returns -1 if failed

    Declaration
    public virtual int RegisterMesh(Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh
    Returns
    Type Description
    int

    RegisterPropertyBlock(MaterialPropertyBlock)

    Registers a property block. Returns the index of property block it's registered under. Returns -1 if failed

    Declaration
    public virtual int RegisterPropertyBlock(MaterialPropertyBlock propertyBlock)
    Parameters
    Type Name Description
    MaterialPropertyBlock propertyBlock
    Returns
    Type Description
    int

    RegisterRenderer(Renderer, MeshFilter, IList<BulkRenderItemSettings>, int, int, int)

    Fills the "result" list with render result extracted from given renderer. Returns the amount of render entities added (assuming it can fill not empty results list)

    Declaration
    public virtual int RegisterRenderer(Renderer renderer, MeshFilter meshFilter, IList<BulkRenderItemSettings> result, int maxSubmeshCount = -1, int maxMaterials = -1, int maxRenderEntities = -1)
    Parameters
    Type Name Description
    Renderer renderer
    MeshFilter meshFilter
    IList<BulkRenderItemSettings> result
    int maxSubmeshCount
    int maxMaterials
    int maxRenderEntities
    Returns
    Type Description
    int

    Render(Camera, BulkRenderItemSettings, List<Matrix4x4>)

    Renders Instanced the mesh from given settings on given camera using transforms list as a list of render transforms

    Declaration
    protected virtual void Render(Camera camera, BulkRenderItemSettings settings, List<Matrix4x4> transforms)
    Parameters
    Type Name Description
    Camera camera
    BulkRenderItemSettings settings
    List<Matrix4x4> transforms

    Render(Camera, BulkRenderItemSettings, NativeList<Matrix4x4>, Bounds)

    Renders Instanced the mesh from given settings on given camera using transforms list as a list of render transforms

    Declaration
    protected virtual void Render(Camera camera, BulkRenderItemSettings settings, NativeList<Matrix4x4> transforms, Bounds worldBounds)
    Parameters
    Type Name Description
    Camera camera
    BulkRenderItemSettings settings
    NativeList<Matrix4x4> transforms
    Bounds worldBounds

    RenderEntities(NativeList<BulkRenderItem>, Camera, JobHandle)

    Sorts and renders entities. Depndency is passed to SortRenderEntitiesJob

    Declaration
    public virtual void RenderEntities(NativeList<BulkRenderItem> renderEntities, Camera camera, JobHandle dependency = default)
    Parameters
    Type Name Description
    NativeList<BulkRenderItem> renderEntities
    Camera camera
    JobHandle dependency

    RenderEntities(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem>, Camera)

    Renders sorted entities

    Declaration
    public virtual void RenderEntities(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities, Camera camera)
    Parameters
    Type Name Description
    NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities
    Camera camera

    RenderEntities(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem>, Camera, Bounds)

    Renders sorted entities. maxEntitiesPerKey is used to limit the amount of entities per key (it will not render more entities per key than this value). Needed for allocating memory for extract transforms job. -1 means no limit (equals to renderEntities.Count())

    Declaration
    public virtual void RenderEntities(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities, Camera camera, Bounds worldBounds)
    Parameters
    Type Name Description
    NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities
    Camera camera
    Bounds worldBounds

    RenderEntitiesFast(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem>, Camera, Bounds, int)

    Renders sorted entities. maxEntitiesPerKey is used to limit the amount of entities per key (it will not render more entities per key than this value). Needed for allocating memory for extract transforms job. -1 means no limit (equals to renderEntities.Count())

    Declaration
    public virtual void RenderEntitiesFast(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities, Camera camera, Bounds worldBounds, int maxEntitiesPerKey = -1)
    Parameters
    Type Name Description
    NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities
    Camera camera
    Bounds worldBounds
    int maxEntitiesPerKey

    RenderEntitiesFastSlow(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem>, Camera, Bounds, int)

    Renders sorted entities. maxEntitiesPerKey is used to limit the amount of entities per key (it will not render more entities per key than this value). Needed for allocating memory for extract transforms job. -1 means no limit (equals to renderEntities.Count())

    Declaration
    public virtual void RenderEntitiesFastSlow(NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities, Camera camera, Bounds worldBounds, int maxEntitiesPerKey = -1)
    Parameters
    Type Name Description
    NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> renderEntities
    Camera camera
    Bounds worldBounds
    int maxEntitiesPerKey

    SortEntities(NativeList<BulkRenderItem>, NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem>, JobHandle)

    Sorts given entities and puts them into sorted entities multi hash map

    Declaration
    protected virtual JobHandle SortEntities(NativeList<BulkRenderItem> renderEntities, NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> sortedEntities, JobHandle dependency = default)
    Parameters
    Type Name Description
    NativeList<BulkRenderItem> renderEntities
    NativeParallelMultiHashMap<BulkRenderItemSettings, BulkRenderItem> sortedEntities
    JobHandle dependency
    Returns
    Type Description
    JobHandle

    Implements

    IBulkRenderer

    Extension Methods

    Extensions_UnityObject.SmartDestroy<TObject>(TObject)
    Extensions_UnityObject.SmartDisableGameObject<TObject>(TObject)
    Extensions_UnityObject.SmartEnableGameObject<TObject>(TObject)
    HashExtensions.GetHashCode_RefType<TValue>(TValue, int)
    Extensions_UnityObject.SmartDestroy(object)
    Extensions_UnityObject.SmartGetComponent<TComponent>(object)
    Extensions_UnityObject.SmartGetGameGameObject(object)
    In this article
    Back to top Generated by DocFX