public LCC3VertexArray(int tag, string name)
     : base(tag, name)
 {
     _elementType = LCC3ElementType.Float;
     _elementSize = 3;
     _shouldAllowVertexBuffering = true;
     _shouldReleaseRedundantContent = true;
     _semantic = this.DefaultSemantic;
 }
 public LCC3ShaderVariableConfiguration()
 {
     _semantic = LCC3Semantic.SemanticNone;
     _type = LCC3ElementType.None;
 }
 private void MapVarNameToSemantic(string name, LCC3Semantic semantic, LCC3ElementType elementType, uint size=1)
 {
     this.MapVarNameToSemantic(name, semantic, 0, elementType, size);
 }
        public void PopulateFrom(LCC3VertexArray anotherArray)
        {
            base.PopulateFrom(anotherArray);

            _semantic = anotherArray.Semantic;
            _elementType = anotherArray.ElementType;
            _elementSize = anotherArray.ElementSize;
            _vertexStride = anotherArray.VertexStride;
            _elementOffset = anotherArray.ElementOffset;
            _shouldNormalizeContent = anotherArray.ShouldNormalizeContent;
            _shouldAllowVertexBuffering = anotherArray.ShouldAllowVertexBuffering;
            _shouldReleaseRedundantContent = anotherArray.ShouldReleaseRedundantContent;

            this.DeleteGraphicsBuffer();

            if (anotherArray.AllocatedVertexCapacity > 0)
            {
                this.AllocatedVertexCapacity = anotherArray.AllocatedVertexCapacity;
                _vertices = (object[])anotherArray.Vertices.Clone();
            }
            else
            {
                _vertices = anotherArray.Vertices;
            }

            _vertexCount = anotherArray.VertexCount;
        }
        private void MapVarNameToSemantic(string name, LCC3Semantic semantic, 
                                          uint semanticIndex, LCC3ElementType elementType,
                                          uint size=1)
        {
            LCC3ShaderVariableConfiguration varConfig = new LCC3ShaderVariableConfiguration();
            varConfig.Name = name;
            varConfig.Semantic = semantic;
            varConfig.SemanticIndex = semanticIndex;
            varConfig.Type = elementType;
            varConfig.Size = size;

            this.AddVariableConfiguration(varConfig);
        }