Пример #1
0
 public VertexAttributeFormat(GXAttribute attr, GXCompType type, GXCompCnt cnt, byte frac)
 {
     _attr = attr;
     _cnt  = cnt;
     _type = type;
     _frac = frac;
 }
Пример #2
0
        public override void Open(HSDReader Reader)
        {
            Name          = (GXAttribName)Reader.ReadUInt32();
            AttributeType = (GXAttribType)Reader.ReadUInt32();
            CompCount     = (GXCompCnt)Reader.ReadInt32();
            CompType      = (GXCompType)Reader.ReadUInt32();

            Scale = Reader.ReadByte();
            Reader.ReadByte();//Padding
            Stride = Reader.ReadUInt16();
            Offset = Reader.ReadUInt32();
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <param name="cc"></param>
        /// <returns></returns>
        private static int CompCountToInt(GXAttribName name, GXCompCnt cc)
        {
            switch (name)
            {
            case GXAttribName.GX_VA_POS:
                switch (cc)
                {
                case GXCompCnt.PosXY:
                    return(2);

                case GXCompCnt.PosXYZ:
                    return(3);
                }
                break;

            case GXAttribName.GX_VA_NRM:
                switch (cc)
                {
                case GXCompCnt.NrmXYZ:
                case GXCompCnt.NrmNBT:
                    return(3);

                case GXCompCnt.NrmNBT3:         // ??
                    return(3);
                }
                break;

            case GXAttribName.GX_VA_NBT:
                switch (cc)
                {
                case GXCompCnt.NrmNBT:
                    return(9);

                case GXCompCnt.NrmNBT3:
                    return(9);
                }
                break;

            case GXAttribName.GX_VA_TEX0:
            case GXAttribName.GX_VA_TEX1:
            case GXAttribName.GX_VA_TEX2:
            case GXAttribName.GX_VA_TEX3:
            case GXAttribName.GX_VA_TEX4:
            case GXAttribName.GX_VA_TEX5:
            case GXAttribName.GX_VA_TEX6:
            case GXAttribName.GX_VA_TEX7:
                switch (cc)
                {
                case GXCompCnt.TexST:
                    return(2);

                case GXCompCnt.TexS:
                    return(1);
                }
                break;

            case GXAttribName.GX_VA_CLR0:
            case GXAttribName.GX_VA_CLR1:
                if (cc == GXCompCnt.ClrRGBA)
                {
                    return(4);
                }
                if (cc == GXCompCnt.ClrRGB)
                {
                    return(3);
                }
                break;
            }

            return(0);
        }
Пример #4
0
        public byte _frac; //scale/divisor

        #region Constructors

        public VertexAttributeFormat(GXAttribute attr, GXCompType type, GXCompCnt cnt, byte frac)
        {
            _attr = attr;
            _cnt = cnt;
            _type = type;
            _frac = frac;
        }