Exemple #1
0
        public static DAEWrap ToDAEWrap(this PICATextureWrap Wrap)
        {
            switch (Wrap)
            {
            default:
            case PICATextureWrap.ClampToEdge:   return(DAEWrap.CLAMP);

            case PICATextureWrap.ClampToBorder: return(DAEWrap.BORDER);

            case PICATextureWrap.Repeat:        return(DAEWrap.WRAP);

            case PICATextureWrap.Mirror:        return(DAEWrap.MIRROR);
            }
        }
        public static TextureAddressMode ToXNAWrap(this PICATextureWrap wrap)
        {
            switch (wrap)
            {
            default:
            case PICATextureWrap.ClampToEdge: return(TextureAddressMode.Clamp);

            case PICATextureWrap.ClampToBorder: return(TextureAddressMode.Border);

            case PICATextureWrap.Repeat: return(TextureAddressMode.Wrap);

            case PICATextureWrap.Mirror: return(TextureAddressMode.Mirror);
            }
        }
Exemple #3
0
        private static All GetWrap(PICATextureWrap Wrap)
        {
            switch (Wrap)
            {
            case PICATextureWrap.ClampToEdge:   return(All.ClampToEdge);

            case PICATextureWrap.ClampToBorder: return(All.ClampToBorder);

            case PICATextureWrap.Repeat:        return(All.Repeat);

            case PICATextureWrap.Mirror:        return(All.MirroredRepeat);

            default: throw new ArgumentException("Invalid wrap mode!");
            }
        }
        private static STTextureWrapMode ConvertWrapMode(PICATextureWrap wrapMode)
        {
            switch (wrapMode)
            {
            case PICATextureWrap.Repeat: return(STTextureWrapMode.Repeat);

            case PICATextureWrap.Mirror: return(STTextureWrapMode.Mirror);

            case PICATextureWrap.ClampToEdge: return(STTextureWrapMode.Clamp);

            case PICATextureWrap.ClampToBorder: return(STTextureWrapMode.Clamp);

            default:
                return(STTextureWrapMode.Repeat);
            }
        }
Exemple #5
0
        void ICustomSerialization.Deserialize(BinaryDeserializer Deserializer)
        {
            PICACommandReader Reader = new PICACommandReader(Commands);

            int Index = 0;

            while (Reader.HasCommand && Index++ < 5)
            {
                PICACommand Cmd = Reader.GetCommand();

                uint Param = Cmd.Parameters[0];

                switch (Cmd.Register)
                {
                case PICARegister.GPUREG_TEXUNIT0_BORDER_COLOR:
                case PICARegister.GPUREG_TEXUNIT1_BORDER_COLOR:
                case PICARegister.GPUREG_TEXUNIT2_BORDER_COLOR:
                    BorderColor = new RGBA(Param);
                    break;

                case PICARegister.GPUREG_TEXUNIT0_PARAM:
                case PICARegister.GPUREG_TEXUNIT1_PARAM:
                case PICARegister.GPUREG_TEXUNIT2_PARAM:
                    MagFilter = (PICATextureFilter)((Param >> 1) & 1);
                    MinFilter = (PICATextureFilter)((Param >> 2) & 1);
                    MipFilter = (PICATextureFilter)((Param >> 24) & 1);

                    WrapV = (PICATextureWrap)((Param >> 8) & 3);
                    WrapU = (PICATextureWrap)((Param >> 12) & 3);
                    break;

                case PICARegister.GPUREG_TEXUNIT0_LOD:
                case PICARegister.GPUREG_TEXUNIT1_LOD:
                case PICARegister.GPUREG_TEXUNIT2_LOD:
                    LODBias = (((int)Param << 20) >> 20) / (float)0x100;
                    MinLOD  = (byte)((Param >> 24) & 0xf);
                    break;
                }
            }
        }