Example #1
0
 protected override void DoInitialize()
 {
     {
         IBufferable bufferable  = new ParticleModel();
         var         shaderCodes = new ShaderCode[2];
         shaderCodes[0] = new ShaderCode(File.ReadAllText(@"05ParticleSimulator\particleSimulator.vert"), ShaderType.VertexShader);
         shaderCodes[1] = new ShaderCode(File.ReadAllText(@"05ParticleSimulator\particleSimulator.frag"), ShaderType.FragmentShader);
         var map = new PropertyNameMap();
         map.Add("position", ParticleModel.strPosition);
         var particleRenderer = new ParticleRenderer(bufferable, shaderCodes, map, new DepthTestSwitch(false), new BlendSwitch(BlendingSourceFactor.One, BlendingDestinationFactor.One));
         particleRenderer.Initialize();
         this.particleRenderer = particleRenderer;
     }
     {
         var particleComputeRenderer = new ParticleComputeRenderer(
             this.particleRenderer.PositionBufferPtr.BufferId,
             this.particleRenderer.VelocityBufferPtrId);
         particleComputeRenderer.Initialize();
         this.particleComputeRenderer = particleComputeRenderer;
     }
 }
Example #2
0
 protected override void DoInitialize()
 {
     {
         IBufferable model       = new ParticleModel();
         var         shaderCodes = new ShaderCode[2];
         shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\ParticleSimulatorRenderer\particleSimulator.vert"), ShaderType.VertexShader);
         shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\ParticleSimulatorRenderer\particleSimulator.frag"), ShaderType.FragmentShader);
         var map = new AttributeMap();
         map.Add("position", ParticleModel.strPosition);
         var particleRenderer = new ParticleRenderer(model, shaderCodes, map, new DepthTestState(false), new BlendState(BlendingSourceFactor.One, BlendingDestinationFactor.One));
         particleRenderer.Initialize();
         this.particleRenderer = particleRenderer;
     }
     {
         var particleComputeRenderer = new ParticleComputeRenderer(
             this.particleRenderer.PositionBuffer,
             this.particleRenderer.VelocityBuffer);
         particleComputeRenderer.Initialize();
         this.particleComputeRenderer = particleComputeRenderer;
     }
 }