Class RenderEntitiesConfig
Config for render meshes in bulk. Contains meshes, materials and property blocks.
Inheritance
Object
ScriptableObject
RenderEntitiesConfig
Inherited Members
ScriptableObject.SetDirty()
ScriptableObject.CreateInstance<T>()
Object.GetInstanceID()
Object.GetHashCode()
Object.InstantiateAsync<T>(T)
Object.InstantiateAsync<T>(T, Transform)
Object.InstantiateAsync<T>(T, Vector3, Quaternion)
Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
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<T>(T)
Object.Instantiate<T>(T, Vector3, Quaternion)
Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
Object.Instantiate<T>(T, Transform)
Object.Destroy(Object)
Object.DestroyImmediate(Object)
Object.DontDestroyOnLoad(Object)
Object.DestroyObject(Object)
Object.FindObjectsOfType<T>()
Object.FindObjectsByType<T>(FindObjectsSortMode)
Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
Object.FindObjectOfType<T>()
Object.FindFirstObjectByType<T>()
Object.FindAnyObjectByType<T>()
Object.FindFirstObjectByType<T>(FindObjectsInactive)
Object.FindAnyObjectByType<T>(FindObjectsInactive)
Object.ToString()
Object.name
Object.hideFlags
Assembly: fwt.core.dll
Syntax
[CreateAssetMenu(menuName = "Fwt/Configs/Render Entities")]
public class RenderEntitiesConfig : ScriptableObject
Fields
AddedMaterialProperties
Declaration
protected Dictionary<int, int> AddedMaterialProperties
Field Value
AddedMaterials
Declaration
protected Dictionary<int, int> AddedMaterials
Field Value
AddedMeshes
Declaration
protected Dictionary<int, int> AddedMeshes
Field Value
AddedPropertyBlocks
Declaration
protected Dictionary<int, int> AddedPropertyBlocks
Field Value
Materials
Declaration
public List<Material> Materials
Field Value
| Type |
Description |
| List<Material> |
|
Meshes
Declaration
Field Value
| Type |
Description |
| List<Mesh> |
|
PropertyBlocks
Declaration
public List<MaterialPropertyBlock> PropertyBlocks
Field Value
| Type |
Description |
| List<MaterialPropertyBlock> |
|
Declaration
protected const int _maxTransformsPerPass = 1023
Field Value
Declaration
protected List<Matrix4x4> _transforms
Field Value
| Type |
Description |
| List<Matrix4x4> |
|
Methods
ClearAll()
Declaration
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
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
Returns
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
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
RegisterRenderer(Renderer, MeshFilter, IList<RenderEntitySettings>, 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<RenderEntitySettings> result, int maxSubmeshCount = -1, int maxMaterials = -1, int maxRenderEntities = -1)
Parameters
Returns
Render(Camera, RenderEntitySettings, 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, RenderEntitySettings settings, List<Matrix4x4> transforms)
Parameters
Render(Camera, RenderEntitySettings, 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, RenderEntitySettings settings, NativeList<Matrix4x4> transforms, Bounds worldBounds)
Parameters
| Type |
Name |
Description |
| Camera |
camera |
|
| RenderEntitySettings |
settings |
|
| NativeList<Matrix4x4> |
transforms |
|
| Bounds |
worldBounds |
|
RenderEntities(NativeList<RenderEntity>, Camera, JobHandle)
Sorts and renders entities. Depndency is passed to SortRenderEntitiesJob
Declaration
public virtual void RenderEntities(NativeList<RenderEntity> renderEntities, Camera camera, JobHandle dependency = default)
Parameters
| Type |
Name |
Description |
| NativeList<RenderEntity> |
renderEntities |
|
| Camera |
camera |
|
| JobHandle |
dependency |
|
RenderEntities(NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity>, Camera)
Declaration
public virtual void RenderEntities(NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity> renderEntities, Camera camera)
Parameters
RenderEntities(NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity>, 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 RenderEntities(NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity> renderEntities, Camera camera, Bounds worldBounds, int maxEntitiesPerKey = -1)
Parameters
RenderEntitiesFast(NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity>, 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<RenderEntitySettings, RenderEntity> renderEntities, Camera camera, Bounds worldBounds, int maxEntitiesPerKey = -1)
Parameters
RenderEntitiesFastSlow(NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity>, 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<RenderEntitySettings, RenderEntity> renderEntities, Camera camera, Bounds worldBounds, int maxEntitiesPerKey = -1)
Parameters
SortEntities(NativeList<RenderEntity>, NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity>, JobHandle)
Sorts given entities and puts them into sorted entities multi hash map
Declaration
protected virtual JobHandle SortEntities(NativeList<RenderEntity> renderEntities, NativeParallelMultiHashMap<RenderEntitySettings, RenderEntity> sortedEntities, JobHandle dependency = default)
Parameters
Returns
| Type |
Description |
| JobHandle |
|
Extension Methods