public SExplosionRenderManager(int particleCapacity = 500, SSTexture texture = null) : base(new SExplosionSystem(particleCapacity), SSTexturedQuad.DoubleFaceInstance, _defaultUsageHint) { renderState.castsShadow = false; renderState.receivesShadows = false; renderState.doBillboarding = false; renderState.alphaBlendingOn = true; //renderState.depthTest = true; renderState.depthTest = true; renderState.depthWrite = false; renderState.lighted = false; simulateOnUpdate = true; Name = "simple expolsion renderer"; base.AmbientMatColor = new Color4 (1f, 1f, 1f, 1f); base.DiffuseMatColor = new Color4 (0f, 0f, 0f, 0f); base.EmissionMatColor = new Color4(0f, 0f, 0f, 0f); base.SpecularMatColor = new Color4 (0f, 0f, 0f, 0f); base.ShininessMatColor = 0f; var tex = texture ?? SExplosionSystem.getDefaultTexture(); textureMaterial = new SSTextureMaterial(null, null, tex, null); }
public SExplosionRenderManager(int particleCapacity = 500, SSTexture texture = null) : base(new SExplosionSystem(particleCapacity), SSTexturedQuad.DoubleFaceInstance, _defaultUsageHint ) { renderState.castsShadow = false; renderState.receivesShadows = false; renderState.doBillboarding = false; renderState.alphaBlendingOn = true; //renderState.depthTest = true; renderState.depthTest = true; renderState.depthWrite = false; renderState.lighted = false; simulateOnUpdate = true; Name = "simple expolsion renderer"; base.AmbientMatColor = new Color4(1f, 1f, 1f, 1f); base.DiffuseMatColor = new Color4(0f, 0f, 0f, 0f); base.EmissionMatColor = new Color4(0f, 0f, 0f, 0f); base.SpecularMatColor = new Color4(0f, 0f, 0f, 0f); base.ShininessMatColor = 0f; var tex = texture ?? SExplosionSystem.getDefaultTexture(); textureMaterial = new SSTextureMaterial(null, null, tex, null); }
public RenderSubMesh(SSSkeletalMesh skeletalMesh, SSSkeletalHierarchyRuntime hierarchy = null) : base(null, skeletalMesh.triangleIndices) { _runtimeMesh = new SSSkeletalMeshRuntime(skeletalMesh, hierarchy); _vertices = new SSVertex_PosNormTex[_runtimeMesh.numVertices]; for (int v = 0; v < _runtimeMesh.numVertices; ++v) { _vertices [v].TexCoord = _runtimeMesh.textureCoords(v); _vertices [v].Normal = _runtimeMesh.bindPoseNormal(v); } ComputeVertices(); string matString = skeletalMesh.materialShaderString; if (matString != null && matString.Length > 0) { base.textureMaterial = SSTextureMaterial.FromMaterialString(skeletalMesh.assetContext, matString); } // don't use BVH because vertices keep changing on every render frame // TODO can we "update" BVH efficiently, instead? base.useBVHForIntersections = false; }