public void render( VertexBuffer vertices, IndexBuffer primitives, AppearanceBase appearance, Transform transform) { this.render(vertices, primitives, appearance, transform, -1, 1f); }
public void setAppearanceBase(int index, AppearanceBase appearance) { if (!this.verifyMutable() || !this.verifyIndex(index)) { return; } this.m_appearances[index] = (object)appearance; }
public RenderNode CopyFrom(RenderNode rhs) { this.renderNode = rhs.renderNode; this.compositeTransform = rhs.compositeTransform; this.m_layer = rhs.m_layer; this.m_appearance = rhs.m_appearance; this.m_indexBuffer = rhs.m_indexBuffer; this.m_vertexBuffer = rhs.m_vertexBuffer; this.m_blending = rhs.m_blending; return(this); }
public RenderNode(RenderNode r) { this.renderNode = r.renderNode; this.compositeTransform = r.compositeTransform; this.m_layer = r.m_layer; this.m_blending = r.m_blending; this.m_appearance = r.m_appearance; this.m_indexBuffer = r.m_indexBuffer; this.m_vertexBuffer = r.m_vertexBuffer; this.m_isSkinning = r.m_isSkinning; }
public virtual void render( VertexBuffer vertices, IndexBuffer primitives, AppearanceBase appearance, Transform transform, int scope, float alphaFactor) { if (!(this.m_cameraScope != 0 & scope != 0)) { return; } this.m_renderer.pushModelTransform(transform); this.m_renderer.render(vertices, primitives, appearance, alphaFactor); this.m_renderer.popModelTransform(); }
public void renderForceAppearanceLoad(Node node, Transform transform) { this.m_renderNodeList.Clear(); this.m_transformListPosition = 0; this.compileRenderableNodeList(ref node, ref transform, this.m_cameraScope, 0); this.m_renderNodeList.Sort(); int cameraScope = this.m_cameraScope; int count = this.m_renderNodeList.Count; long num = 0; for (int index = 0; index < count; ++index) { RenderNode renderNode1 = this.m_renderNodeList[index]; Mesh renderNode2 = (Mesh)renderNode1.renderNode; if (renderNode2 != null && (renderNode2.getScope() & cameraScope) != 0) { AppearanceBase appearance = renderNode1.m_appearance; if (appearance != null) { VertexBuffer vertexBuffer = renderNode1.m_vertexBuffer; IndexBuffer indexBuffer = renderNode1.m_indexBuffer; float alphaFactor = renderNode2.getAlphaFactor(); this.m_renderer.pushModelTransform(renderNode1.compositeTransform); this.m_renderer.processApperance((Appearance)appearance); if ((object)renderNode2.GetType() == (object)typeof(SkinnedMesh) || renderNode2.GetType().IsSubclassOf(typeof(SkinnedMesh))) { SkinnedMesh skinnedMesh = (SkinnedMesh)renderNode2; this.m_renderer.render(vertexBuffer, skinnedMesh.getSkinIndices(), skinnedMesh.getSkinWeights(), skinnedMesh.getBoneTransforms(), indexBuffer, appearance, alphaFactor); num += (long)indexBuffer.getPrimitiveCount(); } else { this.m_renderer.render(vertexBuffer, indexBuffer, appearance, alphaFactor); num += (long)indexBuffer.getPrimitiveCount(); } this.m_renderer.popModelTransform(); } } } if (this.m_renderNodeList.Count > this.m_reservedCapacity) { this.m_reservedCapacity = this.m_renderNodeList.Count; this.m_renderNodeList.Capacity = this.m_reservedCapacity; } this.m_renderNodeList.Clear(); this.m_renderer.restoreToClamp(); }
public RenderNode(Node n, int submeshIndex, ref Transform t, bool skinning) { this.renderNode = (Node)null; this.compositeTransform = (Transform)null; this.m_layer = 0; this.m_blending = 68; this.m_appearance = (AppearanceBase)null; this.m_indexBuffer = (IndexBuffer)null; this.m_vertexBuffer = (VertexBuffer)null; this.m_isSkinning = skinning; if (n == null) { return; } Mesh mesh = (Mesh)n; if (mesh == null) { return; } AppearanceBase appearance = (AppearanceBase)mesh.getAppearance(submeshIndex); IndexBuffer indexBuffer = mesh.getIndexBuffer(submeshIndex); if (appearance == null || indexBuffer == null) { return; } this.renderNode = n; this.compositeTransform = t; this.m_layer = appearance.getLayer(); this.m_appearance = appearance; this.m_indexBuffer = indexBuffer; this.m_vertexBuffer = mesh.getVertexBuffer(); CompositingMode compositingMode = appearance.getCompositingMode(); if (compositingMode == null) { return; } this.m_blending = compositingMode.getBlending(); }