Exemplo n.º 1
0
 public BufferDataInfo(ESemantic s)
 {
     X = new PassDataInfo(ESlot.None, s, EPass.X);
     Y = new PassDataInfo(ESlot.None, s, EPass.Y);
     Z = new PassDataInfo(ESlot.None, s, EPass.Z);
     W = new PassDataInfo(ESlot.None, s, EPass.W);
 }
Exemplo n.º 2
0
        private bool CheckPassAvailable(PassDataInfo pass)
        {
            if (pass.Slot == ESlot.None || pass.Semantic == ESemantic.UnKnown)
            {
                return(true);
            }
            var slot = this[(int)pass.Slot - 1];

            if (slot == null)
            {
                return(false);
            }
            var s = pass.Semantic;

            MeshData.VBuffer buff;
            if (slot.Buffers.TryGetValue(s, out buff))
            {
                if (buff.mDimension > (int)pass.Pass)
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 3
0
            public PassDataInfo this[int index]
            {
                get
                {
                    switch (index)
                    {
                    case 0:
                        return(X);

                    case 1:
                        return(Y);

                    case 2:
                        return(Z);

                    case 3:
                        return(W);

                    default:
                        return(null);
                    }
                }
                set
                {
                    switch (index)
                    {
                    case 0:
                        X = value;
                        break;

                    case 1:
                        Y = value;
                        break;

                    case 2:
                        Z = value;
                        break;

                    case 3:
                        W = value;
                        break;

                    default:
                        break;
                    }
                }
            }