protected override void InitializeInner() {
_deferredLighting = DeviceContextHolder.GetEffect<EffectDeferredLight>();
_deferredResult = DeviceContextHolder.GetEffect<EffectDeferredResult>();
_ppBasic = DeviceContextHolder.GetEffect<EffectPpBasic>();
_gDepthBuffer = TargetResourceDepthTexture.Create();
_gBufferBase = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_gBufferNormal = TargetResourceTexture.Create(Format.R32G32B32A32_Float);
_gBufferMaps = TargetResourceTexture.Create(Format.R8G8B8A8_UNorm);
_temporaryDepthBuffer = TargetResourceDepthTexture.Create();
_temporaryBuffer0 = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_temporaryBuffer1 = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_temporaryBuffer2 = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_temporaryBuffer3 = TargetResourceTexture.Create(Format.R16G16B16A16_Float);
_outputBuffer = TargetResourceTexture.Create(Format.R8G8B8A8_UNorm);
_reflectionCubemap = new ReflectionCubemap(1024);
_reflectionCubemap.Initialize(DeviceContextHolder);
_sunShadows = new ShadowsDirectional(2048);
_sunShadows.Initialize(DeviceContextHolder);
}