コード例 #1
0
ファイル: UniformMappings.cs プロジェクト: mlunnay/minotaur
        public string GetUniformForUsage(UniformUsage usage)
        {
            string uniform;

            _usageToUniform.TryGetValue(usage, out uniform);
            return(uniform);
        }
コード例 #2
0
ファイル: GraphicsDevice.cs プロジェクト: mlunnay/minotaur
        public bool GetUniformValue(UniformUsage usage, out IUniformValue value)
        {
            value = null;
            if (usage == UniformUsage.World)
            {
                value = UniformValue.Create(World);
            }
            else if (usage == UniformUsage.WorldView)
            {
                if (_camera != null)
                {
                    value = UniformValue.Create(Matrix4.Mult(World, _camera.View));
                }
                else
                {
                    value = UniformValue.Create(World);
                }
            }
            else if (usage == UniformUsage.WorldViewProj)
            {
                if (_camera != null)
                {
                    value = UniformValue.Create(Matrix4.Mult(World, _viewProjection));
                }
                else
                {
                    value = UniformValue.Create(World);
                }
            }
            else if (usage == UniformUsage.ViewPort)
            {
                if (_camera != null)
                {
                    value = UniformValue.Create(_camera.Viewport.GetAsVector4());
                }
                else
                {
                    value = UniformValue.Create(new Vector4(0, 0, Width, Height));
                }
            }
            else if (usage == UniformUsage.NearFar)
            {
                if (_camera != null)
                {
                    value = UniformValue.Create(new Vector2(_camera.Near, _camera.Far));
                }
                else
                {
                    value = UniformValue.Create(new Vector2(1f, 100f));
                }
            }

            return(value != null);
        }
コード例 #3
0
ファイル: UniformMappings.cs プロジェクト: mlunnay/minotaur
 public void Add(string uniformName, UniformUsage usage)
 {
     _uniformToUsage.Add(uniformName, usage);
     _usageToUniform.Add(usage, uniformName);
 }