Exemplo n.º 1
0
        public unsafe void SetPixelShaderConstants(DeviceContext deviceContext, Mesh.Material material, PointLight light)
        {
            // hlsl matrices are default column order
            var constants = new PSConstantBuffer();

            for (int i = 0; i < 3; i++)
            {
                constants.Ka[i] = material.ambientColor[i];
                constants.Kd[i] = material.diffuseColor[i];
                constants.Ks[i] = material.specularColor[i];

                constants.Ia[i] = light.Ia[i];
                constants.Id[i] = light.Id[i];
                constants.Is[i] = light.Is[i];
            }
            constants.Ns = material.shininess;

            // TODO: add camera position

            DataStream dataStream;

            deviceContext.MapSubresource(pixelShaderConstantBuffer, MapMode.WriteDiscard, SharpDX.Direct3D11.MapFlags.None, out dataStream);
            dataStream.Write <PSConstantBuffer>(constants);
            deviceContext.UnmapSubresource(pixelShaderConstantBuffer, 0);
        }
Exemplo n.º 2
0
        public unsafe void SetPixelShaderConstants(DeviceContext deviceContext, SharpDX.Color3 color)
        {
            var constants = new PSConstantBuffer();

            for (int i = 0; i < 3; i++)
            {
                constants.color[i] = color[i];
            }

            DataStream dataStream;

            deviceContext.MapSubresource(pixelShaderConstantBuffer, MapMode.WriteDiscard, SharpDX.Direct3D11.MapFlags.None, out dataStream);
            dataStream.Write <PSConstantBuffer>(constants);
            deviceContext.UnmapSubresource(pixelShaderConstantBuffer, 0);
        }
Exemplo n.º 3
0
        public unsafe void SetPixelShaderConstants(DeviceContext deviceContext, SharpDX.Color3 color)
        {
            var constants = new PSConstantBuffer();
            for (int i = 0; i < 3; i++)
            {
                constants.color[i] = color[i];
            }

            DataStream dataStream;
            deviceContext.MapSubresource(pixelShaderConstantBuffer, MapMode.WriteDiscard, SharpDX.Direct3D11.MapFlags.None, out dataStream);
            dataStream.Write<PSConstantBuffer>(constants);
            deviceContext.UnmapSubresource(pixelShaderConstantBuffer, 0);
        }
Exemplo n.º 4
0
        public unsafe void SetPixelShaderConstants(DeviceContext deviceContext, Mesh.Material material, PointLight light)
        {
            // hlsl matrices are default column order
            var constants = new PSConstantBuffer();
            for (int i = 0; i < 3; i++)
            {
                constants.Ka[i] = material.ambientColor[i];
                constants.Kd[i] = material.diffuseColor[i];
                constants.Ks[i] = material.specularColor[i];

                constants.Ia[i] = light.Ia[i];
                constants.Id[i] = light.Id[i];
                constants.Is[i] = light.Is[i];
            }
            constants.Ns = material.shininess;

            // TODO: add camera position

            DataStream dataStream;
            deviceContext.MapSubresource(pixelShaderConstantBuffer, MapMode.WriteDiscard, SharpDX.Direct3D11.MapFlags.None, out dataStream);
            dataStream.Write<PSConstantBuffer>(constants);
            deviceContext.UnmapSubresource(pixelShaderConstantBuffer, 0);
        }