Obi  7.0.5
Unified particle physics for Unity
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Obi.ObiSoftbodyRenderSystem Class Referenceabstract
Inheritance diagram for Obi.ObiSoftbodyRenderSystem:
Obi.RenderSystem< T > Obi.IRenderSystem Obi.ComputeSoftbodyRenderSystem

Public Member Functions

 ObiSoftbodyRenderSystem (ObiSolver solver)
 
virtual void Dispose ()
 
virtual void Setup ()
 
abstract void Render ()
 
void Step ()
 
void BakeMesh (ObiSoftbodySkinner renderer, ref Mesh mesh, bool transformToActorLocalSpace=false)
 
- Public Member Functions inherited from Obi.RenderSystem< T >
Type IRenderSystem. GetRendererType ()
 
virtual bool AddRenderer (T renderer)
 
virtual bool RemoveRenderer (T renderer)
 

Protected Member Functions

virtual void Clear ()
 
virtual void CreateBatches ()
 
virtual void PopulateBatches ()
 
void CalculateOffsets ()
 
virtual void CloseBatches ()
 
void UpdateBoneTransformData ()
 

Protected Attributes

VertexAttributeDescriptor[] layout
 
ObiSolver m_Solver
 
List< DynamicRenderBatch
< ObiSoftbodySkinner > > 
batchList = new List<DynamicRenderBatch<ObiSoftbodySkinner>>()
 
List< ObiSoftbodySkinnersortedRenderers = new List<ObiSoftbodySkinner>()
 
SkeletonDataBatch skeletonData
 
SkinmapDataBatch skinmapData
 
MeshDataBatch meshData
 
ObiNativeList< int > skeletonIndices
 
ObiNativeList< int > skinMapIndices
 
ObiNativeList< int > meshIndices
 
ObiNativeList< int > vertexOffsets
 
ObiNativeList< int > particleOffsets
 

Static Protected Attributes

static ProfilerMarker m_SetupRenderMarker = new ProfilerMarker("SetupSoftbodyRendering")
 
static ProfilerMarker m_RenderMarker = new ProfilerMarker("SoftbodyRendering")
 

Properties

Oni.RenderingSystemType typeEnum [get]
 
RendererSet< ObiSoftbodySkinnerrenderers [get]
 
abstract IReadOnlyList
< ObiSoftbodySkinner
baseRenderers = new RendererSet<ObiSoftbodySkinner>() [get]
 
- Properties inherited from Obi.RenderSystem< T >
RendererSet< T > renderers [get]
 
bool IRenderSystem. isEmpty [get]
 
- Properties inherited from Obi.IRenderSystem
uint tier [get]
 
Oni.RenderingSystemType typeEnum [get]
 
bool isEmpty [get]
 

Member Data Documentation

VertexAttributeDescriptor [] Obi.ObiSoftbodyRenderSystem.layout
protected
Initial value:
=
{
new VertexAttributeDescriptor(VertexAttribute.Position, VertexAttributeFormat.Float32, 3,0),
new VertexAttributeDescriptor(VertexAttribute.Normal, VertexAttributeFormat.Float32, 3,0),
new VertexAttributeDescriptor(VertexAttribute.Tangent, VertexAttributeFormat.Float32, 4,0),
new VertexAttributeDescriptor(VertexAttribute.Color, VertexAttributeFormat.Float32, 4,0),
new VertexAttributeDescriptor(VertexAttribute.TexCoord0, VertexAttributeFormat.Float32, 2,1),
new VertexAttributeDescriptor(VertexAttribute.TexCoord1, VertexAttributeFormat.Float32, 2,1),
new VertexAttributeDescriptor(VertexAttribute.TexCoord2, VertexAttributeFormat.Float32, 2,1),
new VertexAttributeDescriptor(VertexAttribute.TexCoord3, VertexAttributeFormat.Float32, 2,1),
}
ObiNativeList<int> Obi.ObiSoftbodyRenderSystem.particleOffsets
protected

for each renderer, particle offset in its batch data.

List<ObiSoftbodySkinner> Obi.ObiSoftbodyRenderSystem.sortedRenderers = new List<ObiSoftbodySkinner>()
protected

temp list used to store renderers sorted by batch.

ObiNativeList<int> Obi.ObiSoftbodyRenderSystem.vertexOffsets
protected

for each renderer, vertex offset in its batch mesh data.


The documentation for this class was generated from the following file: