예제 #1
0
        public DrawCall(uint index, DrawCall?previous)
        {
            Index    = index;
            Fallback = previous;
            Deferred = new Deferred <DrawCall, DrawCall>(this, previous);
            Shaders  = Enums.Values <ShaderType>().ToDictionary(s => s, s => new ShaderContext(this, previous?.Shader(s)));

            Mappings                   = new OwnedCollection <DrawCall, Map>(this);
            Unmappings                 = new OwnedCollection <DrawCall, Unmap>(this);
            ResourceCopied             = new OwnedCollection <DrawCall, CopyResource>(this);
            SubresourceRegionCopied    = new OwnedCollection <DrawCall, CopySubresourceRegion>(this);
            SubresourceUpdated         = new OwnedCollection <DrawCall, UpdateSubresource>(this);
            DepthStencilCleared        = new OwnedCollection <DrawCall, ClearDepthStencilView>(this);
            RenderTargetCleared        = new OwnedCollection <DrawCall, ClearRenderTargetView>(this);
            UnorderedAccessViewCleared = new OwnedCollection <DrawCall, ClearUnorderedAccessViewUint>(this);
        }
예제 #2
0
 public Frame(uint index)
 {
     Index     = index;
     DrawCalls = new OwnedCollection <Frame, DrawCall>(this);
 }