private void InitializeBuffers() {
_shadowBuffer = TargetResourceDepthTexture.Create();
_summBuffer = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_tempBuffer = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_blendState = Device.CreateBlendState(new RenderTargetBlendDescription {
BlendEnable = true,
SourceBlend = BlendOption.One,
DestinationBlend = BlendOption.One,
BlendOperation = BlendOperation.Add,
SourceBlendAlpha = BlendOption.SourceAlpha,
DestinationBlendAlpha = BlendOption.InverseSourceAlpha,
BlendOperationAlpha = BlendOperation.Add,
RenderTargetWriteMask = ColorWriteMaskFlags.All,
});
_effect = DeviceContextHolder.GetEffect<EffectSpecialShadow>();
}