Cogs.Core
RenderSettings.h
1#pragma once
2
3#include "Services/Variables.h"
4
5#include <glm/vec3.hpp>
6
7namespace Cogs
8{
9 namespace Core
10 {
13 {
14 enum class TransparencyAlgorithm {
15 Regular,
16 OIT,
17 } transparencyAlgorithm = TransparencyAlgorithm::Regular;
18
19 enum class BlendKernel {
20 Alpha,
21 Max,
22 Max2,
23 DepthWeighted,
24 Beers
25 } blendKernel = BlendKernel::Alpha;
26
27 enum class SRGBConversion {
28 Fast,
29 Approx,
30 Exact
31 } sRGBConversion = SRGBConversion::Exact;
32
33 enum class Tonemapper {
34 Reinhard,
35 Filmic,
36 ACESLuminance,
37 PBRNeutral
38 } tonemapper = Tonemapper::Filmic;
39
40 Variable * anisotropicFiltering = nullptr;
41
42 float beersScaleFactor = 1.f;
43
44 float ambientIntensity = 0.0f;
45 glm::vec3 ambientColor = glm::vec3(1, 1, 1);
46
47 // Hook to disable of default
48 bool defaultRenderTargetClear = true;
49
50 // Currently, the default framebuffer under WebGL expects data in sRGB color space and not in a
51 // linear color space as usual. This includes the clear color, and thus, under WebGL we check
52 // if it is the default rendertarget and if so, convert the linear clear color to sRGB.
53 // Desktop ES3 framebuffer SRGB appears to be broken in nvidia driver as well.
54 bool defaultRenderTargetExpectsSRGB = false;
55 };
56 }
57}
@ Regular
Regular transparency, use colormap's alpha channel.
@ Alpha
Fetch elevation from alpha channel of elevation texture.
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Render settings variables.
Runtime control variable.
Definition: Variables.h:27