Пример #1
0
        public override int GetHashCode()
        {
            unchecked
            {
                var hashCode = RootSignature != null?RootSignature.GetHashCode() : 0;

                hashCode = (hashCode * 397) ^ (EffectBytecode != null ? EffectBytecode.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ BlendState.GetHashCode();
                hashCode = (hashCode * 397) ^ (int)SampleMask;
                hashCode = (hashCode * 397) ^ RasterizerState.GetHashCode();
                hashCode = (hashCode * 397) ^ DepthStencilState.GetHashCode();
                if (InputElements != null)
                {
                    foreach (var inputElement in InputElements)
                    {
                        hashCode = (hashCode * 397) ^ inputElement.GetHashCode();
                    }
                }
                hashCode = (hashCode * 397) ^ (int)PrimitiveType;
                hashCode = (hashCode * 397) ^ Output.GetHashCode();
                return(hashCode);
            }
        }