예제 #1
0
        public override void Initialize()
        {
            _noise = new SimplexNoise(new Random());
            _noise.SetParameters(0.075, SimplexNoise.InflectionMode.NoInflections, SimplexNoise.ResultScale.ZeroToOne);

            _effect = ToDispose(new HLSLClouds(_d3DEngine.Device, ClientSettings.EffectPack + @"Weather\Clouds.hlsl", VertexPosition2Cloud.VertexDeclaration, _sharedCB.CBPerFrame));
            _effect.SamplerBackBuffer.Value = RenderStatesRepo.GetSamplerState(DXStates.Samplers.UVWrap_MinMagMipPoint);

            _instancedBuffer = ToDispose(new InstancedVertexBuffer <VertexPosition3Color, VertexPosition2Cloud>(_d3DEngine.Device, SharpDX.Direct3D.PrimitiveTopology.TriangleList, "Clouds"));

            _indexBuffer = ToDispose(new IndexBuffer <ushort>(_d3DEngine.Device, 36, "_cloudIB", 10, ResourceUsage.Default));

            _clouds            = new List <VertexPosition2Cloud>();
            _newCloudGenerated = false;
        }
예제 #2
0
        public override void LoadContent(SharpDX.Direct3D11.DeviceContext context)
        {
            _effect = ToDispose(new HLSLColumnChart(_engine.Device));

            // Create the vertex buffer
            VertexPosition2[] vertices =
            {
                new VertexPosition2(new Vector2(0.0f, 0.0f)),
                new VertexPosition2(new Vector2(0.0f, 1.0f))
            };

            _vBuffer = ToDispose(new VertexBuffer <VertexPosition2>(_engine.Device, vertices.Length, PrimitiveTopology.LineList, "ColumnChart_vBuffer", ResourceUsage.Immutable));
            _vBuffer.SetData(_engine.ImmediateContext, vertices);

            _vBufferInstanced = ToDispose(new InstancedVertexBuffer <VertexPosition2, VertexColumnChart>(_engine.Device, PrimitiveTopology.LineList, "ColumnChart"));
            _vBufferInstanced.SetFixedData(vertices);

            base.LoadContent(context);
        }