Exemplo n.º 1
0
        public override void Apply()
        {
            base.Apply();

            Blend.Apply(Material);

            var inv = Matrix.inverse;

            Material.SetFloat(P3dShader._In3D, In3D ? 1.0f : 0.0f);
            Material.SetVector(P3dShader._Position, inv.MultiplyPoint(Position));
            Material.SetVector(P3dShader._EndPosition, inv.MultiplyPoint(EndPosition));
            Material.SetVector(P3dShader._Position2, inv.MultiplyPoint(Position2));
            Material.SetVector(P3dShader._EndPosition2, inv.MultiplyPoint(EndPosition2));
            Material.SetMatrix(P3dShader._Matrix, inv);
            Material.SetColor(P3dShader._Color, P3dHelper.FromGamma(Color));
            Material.SetFloat(P3dShader._Opacity, Opacity);
            Material.SetFloat(P3dShader._Hardness, Hardness);
            Material.SetTexture(P3dShader._TileTexture, TileTexture);
            Material.SetMatrix(P3dShader._TileMatrix, TileMatrix);
            Material.SetFloat(P3dShader._TileOpacity, TileOpacity);
            Material.SetFloat(P3dShader._TileTransition, TileTransition);
            Material.SetMatrix(P3dShader._MaskMatrix, MaskMatrix);
            Material.SetTexture(P3dShader._MaskTexture, MaskShape);
            Material.SetVector(P3dShader._MaskChannel, MaskChannel);
            Material.SetVector(P3dShader._MaskStretch, MaskStretch);
        }
        public override void Apply(Material material)
        {
            base.Apply(material);

            Blend.Apply(material);

            material.SetTexture(P3dShader._Texture, Texture);
            material.SetColor(P3dShader._Color, P3dHelper.FromGamma(Color));
            material.SetFloat(P3dShader._Opacity, Opacity);
            material.SetVector(P3dShader._Minimum, new Vector4(Minimum, Minimum, Minimum, Minimum));
        }