public static ParticleNode Create() { var blend = new BlendState(BlendingSourceFactor.SourceAlpha, BlendingDestinationFactor.OneMinusSourceAlpha); var depthTest = new DepthTestState(false); RenderMethodBuilder defaultBuilder, textureBuilder; { var vs = new VertexShader(vert); var fs = new FragmentShader(frag); var provider = new ShaderArray(vs, fs); var map = new AttributeMap(); defaultBuilder = new RenderMethodBuilder(provider, map, blend, depthTest); } { var vs = new VertexShader(vert); var fs = new FragmentShader(texturedFrag); var provider = new ShaderArray(vs, fs); var map = new AttributeMap(); textureBuilder = new RenderMethodBuilder(provider, map, blend, depthTest); } var model = new ParticleModel(); var node = new ParticleNode(model, defaultBuilder, textureBuilder); node.Initialize(); return(node); }
private SceneNodeBase GetTree() { var node = ParticleNode.Create(); var ground = GroundNode.Create(); var group = new GroupNode(ground, node); this.particleNode = node; return(group); }