Skip to content

Commit c23e6ac

Browse files
committed
xrRenderGL: added blender FXAA and enabled it
Layers/xrRenderPC_GL/gl_rendertarget_phase_combine.cpp: fixed codepage (Win1251 -> UTF-8)
1 parent aaacdfa commit c23e6ac

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
lines changed

src/Layers/xrRenderPC_GL/gl_rendertarget.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include "blender_bloom_build.h"
1111
#include "blender_luminance.h"
1212
#include "blender_ssao.h"
13-
//#include "blender_fxaa.h"
13+
#include "blender_fxaa.h"
1414
#include "Layers/xrRenderDX10/dx10MinMaxSMBlender.h"
1515
#include "Layers/xrRenderDX10/MSAA/dx10MSAABlender.h"
1616
#include "Layers/xrRenderDX10/DX10 Rain/dx10RainBlender.h"
@@ -296,9 +296,8 @@ CRenderTarget::CRenderTarget()
296296
b_combine = new CBlender_combine();
297297
b_ssao = new CBlender_SSAO_noMSAA();
298298

299-
// xxx: Add fxaa blender to project
300299
//FXAA
301-
//b_fxaa = new CBlender_FXAA();
300+
b_fxaa = new CBlender_FXAA();
302301

303302
if (RImplementation.o.dx10_msaa)
304303
{
@@ -608,8 +607,8 @@ CRenderTarget::CRenderTarget()
608607
}
609608

610609
//FXAA
611-
//s_fxaa.create(b_fxaa, "gl" DELIMITER "fxaa");
612-
//g_fxaa.create(FVF::F_V, RCache.Vertex.Buffer(), RCache.QuadIB);
610+
s_fxaa.create(b_fxaa, "gl" DELIMITER "fxaa");
611+
g_fxaa.create(FVF::F_V, RCache.Vertex.Buffer(), RCache.QuadIB);
613612

614613
// HBAO
615614
if (RImplementation.o.ssao_opt_data)
@@ -968,7 +967,7 @@ CRenderTarget::~CRenderTarget()
968967
xr_delete(b_accum_point);
969968
xr_delete(b_accum_direct);
970969
xr_delete(b_ssao);
971-
//xr_delete(b_fxaa); //FXAA
970+
xr_delete(b_fxaa); //FXAA
972971

973972
if (RImplementation.o.dx10_msaa)
974973
{

src/Layers/xrRenderPC_GL/gl_rendertarget_phase_combine.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,18 @@ void CRenderTarget::phase_combine()
4646

4747
//*** exposure-pipeline
4848
u32 gpu_id = Device.dwFrame % HW.Caps.iGPUNum;
49-
// TODO: Uncomment this and test in the game
50-
/*
49+
5150
if (Device.m_SecondViewport.IsSVPActive()) //--#SM+#-- +SecondVP+
5251
{
5352
// clang-format off
54-
gpu_id = (Device.dwFrame - 1) % HW.Caps.iGPUNum; // Ôèêñ "ìåðöàíèÿ" tonemapping (HDR) ïîñëå âûêëþ÷åíèÿ äâîéíîãî ðåíäåðà.
55-
// Ïîáî÷íûé ýôôåêò - ïðè ðàáîòå äâîéíîãî ðåíäåðà ñêîðîñòü èçìåíåíèÿ tonemapping (HDR) ïàäàåò â äâà ðàçà
56-
// Ìåðöàíèå ñâÿçàíî ñ òåì, ÷òî HDR äëÿ ñâîåé ðàáîòû õðàíèò óìåíüøåííèå êîïèè "ïðîøëûõ êàäðîâ"
57-
// Ýòè êàäðû îòíîñèòåëüíî ïîõîæè äðóã íà äðóãà, îäíàêî ïðè âêëþ÷åííîì äâîéíîì ðåíäåðå
58-
// â ïîëîâèíå êàäðîâ îêàçûâàåòñÿ êàðòèíêà èç âòîðîãî ðåíäåðà, è ïîñêîëüêó îíà ÷àñòî ìîæåò îòëè÷àòñÿ ïî öâåòó\ÿðêîñòè
59-
// òî ïðè ïîïûòêå ñîçäàíèÿ "ïëàâíîãî" ïåðåõîäà ìåæäó íèìè ïîëó÷àåòñÿ ýôôåêò ìåðöàíèÿ
53+
gpu_id = (Device.dwFrame - 1) % HW.Caps.iGPUNum; // Фикс "мерцания" tonemapping (HDR) после выключения двойного рендера.
54+
// Побочный эффект - при работе двойного рендера скорость изменения tonemapping (HDR) падает в два раза
55+
// Мерцание связано с тем, что HDR для своей работы хранит уменьшенние копии "прошлых кадров"
56+
// Эти кадры относительно похожи друг на друга, однако при включенном двойном рендере
57+
// в половине кадров оказывается картинка из второго рендера, и поскольку она часто может отличатся по цвету\яркости
58+
// то при попытке создания "плавного" перехода между ними получается эффект мерцания
6059
// clang-format on
61-
}*/
60+
}
6261

6362
{
6463
t_LUM_src->surface_set(GL_TEXTURE_2D, rt_LUM_pool[gpu_id * 2 + 0]->pRT);

src/Layers/xrRenderPC_GL/xrRender_GL.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@
196196
<ClCompile Include="blender_deffer_aref.cpp" />
197197
<ClCompile Include="blender_deffer_flat.cpp" />
198198
<ClCompile Include="blender_deffer_model.cpp" />
199+
<ClCompile Include="blender_fxaa.cpp" />
199200
<ClCompile Include="blender_light_direct.cpp" />
200201
<ClCompile Include="blender_light_mask.cpp" />
201202
<ClCompile Include="blender_light_occq.cpp" />
@@ -385,6 +386,7 @@
385386
<ClInclude Include="blender_deffer_aref.h" />
386387
<ClInclude Include="blender_deffer_flat.h" />
387388
<ClInclude Include="blender_deffer_model.h" />
389+
<ClInclude Include="blender_fxaa.h" />
388390
<ClInclude Include="blender_light_direct.h" />
389391
<ClInclude Include="blender_light_mask.h" />
390392
<ClInclude Include="blender_light_occq.h" />

src/Layers/xrRenderPC_GL/xrRender_GL.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,9 @@
675675
<ClCompile Include="rgl_shaders.cpp">
676676
<Filter>Core</Filter>
677677
</ClCompile>
678+
<ClCompile Include="blender_fxaa.cpp">
679+
<Filter>Shading templates</Filter>
680+
</ClCompile>
678681
</ItemGroup>
679682
<ItemGroup>
680683
<ClInclude Include="stdafx.h">
@@ -1112,6 +1115,9 @@
11121115
<ClInclude Include="..\xrRenderGL\MSAA\glMSAABlender.h">
11131116
<Filter>Interface implementations\MSAARender</Filter>
11141117
</ClInclude>
1118+
<ClInclude Include="blender_fxaa.h">
1119+
<Filter>Shading templates</Filter>
1120+
</ClInclude>
11151121
</ItemGroup>
11161122
<ItemGroup>
11171123
<Natvis Include="..\..\TypeHelper.natvis" />

0 commit comments

Comments
 (0)