TDME2  1.9.200
PostProcessing.cpp
Go to the documentation of this file.
1 #include <map>
2 #include <memory>
3 #include <string>
4 
5 using std::map;
6 using std::make_unique;
7 using std::string;
8 
10 
11 #include <tdme/tdme.h>
12 #include <tdme/engine/Color4.h>
15 
17 
21 
22 PostProcessing::PostProcessing() {
23  {
24  auto program = make_unique<PostProcessingProgram>(PostProcessingProgram::RENDERPASS_OBJECTS);
27  if (program->isSupported() == true) {
28  programs["ssao"] = program.release();
29  }
30  }
31  {
32  auto program = make_unique<PostProcessingProgram>(PostProcessingProgram::RENDERPASS_FINAL);
33  program->addEffectPass(
35  2,
36  2,
37  "ls_",
38  false,
39  false,
40  EntityRenderer::RENDERTYPE_TEXTUREARRAYS_DIFFUSEMASKEDTRANSPARENCY |
41  EntityRenderer::RENDERTYPE_MATERIALS_DIFFUSEMASKEDTRANSPARENCY |
42  EntityRenderer::RENDERTYPE_TEXTURES_DIFFUSEMASKEDTRANSPARENCY,
43  Color4(1.0f, 1.0f, 1.0f, 0.0f),
44  true,
45  true
46  );
47  program->addPostProcessingStep(
48  "light_scattering",
51  false,
53  );
54  if (program->isSupported() == true) {
55  programs["light_scattering"] = program.release();
56  }
57  }
58  {
59  auto program = make_unique<PostProcessingProgram>(PostProcessingProgram::RENDERPASS_FINAL);
61  if (program->isSupported() == true) {
62  programs["desaturation"] = program.release();
63  }
64 
65  }
66  {
67  auto program = make_unique<PostProcessingProgram>(PostProcessingProgram::RENDERPASS_FINAL);
69  if (program->isSupported() == true) {
70  programs["depth_blur"] = program.release();
71  }
72  }
73  {
74  auto program = make_unique<PostProcessingProgram>(PostProcessingProgram::RENDERPASS_FINAL);
76  if (program->isSupported() == true) {
77  programs["vignette"] = program.release();
78  }
79  }
80 }
81 
83  for (const auto& [programId, program]: programs) {
84  delete program;
85  }
86 }
87 
88 
Color 4 definition class.
Definition: Color4.h:18
@ EFFECTPASS_LIGHTSCATTERING
Definition: Engine.h:186
map< string, PostProcessingProgram * > programs