AcTools.Render.Kn5SpecificDeferred.Materials.Kn5MaterialDeferred.Prepare C# (CSharp) Méthode

Prepare() public méthode

public Prepare ( DeviceContextHolder contextHolder, SpecialRenderMode mode ) : bool
contextHolder DeviceContextHolder
mode SpecialRenderMode
Résultat bool
        public bool Prepare(DeviceContextHolder contextHolder, SpecialRenderMode mode) {
            if (mode == SpecialRenderMode.DeferredTransparentMask) return IsBlending;

            if (mode == SpecialRenderMode.Reflection) {
                _effect.FxDiffuseMap.SetResource(_txDiffuse);
                _effect.FxNormalMap.SetResource(_txNormal);
                _effect.FxMaterial.Set(_material);
            } else {
                if ((mode == SpecialRenderMode.DeferredTransparentForw || mode == SpecialRenderMode.DeferredTransparentDepth ||
                        mode == SpecialRenderMode.DeferredTransparentDef) && !IsBlending) return false;

                _effect.FxMaterial.Set(_material);
                _effect.FxDiffuseMap.SetResource(_txDiffuse);
                _effect.FxNormalMap.SetResource(_txNormal);
                _effect.FxDetailsMap.SetResource(_txDetails);
                _effect.FxDetailsNormalMap.SetResource(_txDetailsNormal);
                _effect.FxMapsMap.SetResource(_txMaps);
            }

            contextHolder.DeviceContext.InputAssembler.InputLayout = _effect.LayoutPNTG;
            return true;
        }