AcTools.Render.Kn5SpecificDeferred.Materials.Kn5MaterialDeferred.Draw C# (CSharp) Method

Draw() public method

public Draw ( DeviceContextHolder contextHolder, int indices, SpecialRenderMode mode ) : void
contextHolder DeviceContextHolder
indices int
mode SpecialRenderMode
return void
        public void Draw(DeviceContextHolder contextHolder, int indices, SpecialRenderMode mode) {
            if (mode == SpecialRenderMode.DeferredTransparentMask || mode == SpecialRenderMode.Shadow) {
                _effect.TechTransparentMask.DrawAllPasses(contextHolder.DeviceContext, indices);
                Drawed++;
                return;
            }

            if (IsBlending) {
                if (mode == SpecialRenderMode.DeferredTransparentForw || mode == SpecialRenderMode.DeferredTransparentDepth) {
                    _effect.TechTransparentForward.DrawAllPasses(contextHolder.DeviceContext, indices);
                    Drawed++;
                } else if (mode == SpecialRenderMode.DeferredTransparentDef) {
                    _effect.TechTransparentDeferred.DrawAllPasses(contextHolder.DeviceContext, indices);
                    Drawed++;
                }
                return;
            }

            if (mode == SpecialRenderMode.DeferredTransparentForw || mode == SpecialRenderMode.DeferredTransparentDepth ||
                    mode == SpecialRenderMode.DeferredTransparentDef) return;
            (mode == SpecialRenderMode.Deferred ? _effect.TechStandardDeferred : _effect.TechStandardForward)
                    .DrawAllPasses(contextHolder.DeviceContext, indices);
            Drawed++;
        }