public bool Prepare(DeviceContextHolder contextHolder, SpecialRenderMode mode) {
if (mode != SpecialRenderMode.Simple && mode != SpecialRenderMode.Outline) return false;
_effect.FxDiffuseMap.SetResource(_txDiffuse);
contextHolder.DeviceContext.InputAssembler.InputLayout = _effect.LayoutPT;
if (mode != SpecialRenderMode.Outline) {
contextHolder.DeviceContext.OutputMerger.BlendState = contextHolder.TransparentBlendState;
contextHolder.DeviceContext.OutputMerger.DepthStencilState = contextHolder.LessEqualReadOnlyDepthState;
}
return true;
}