Overte C++ Documentation
AmbientOcclusionTechnique.h
1 //
2 // Created by HifiExperiments on 6/23/24
3 // Copyright 2024 Overte e.V.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 
9 #ifndef hifi_AmbientOcclusionTechnique_h
10 #define hifi_AmbientOcclusionTechnique_h
11 
12 #include "QString"
13 
14 /*@jsdoc
15  * <p>The technique used for calculating ambient occlusion. Different techniques have different tradeoffs.</p>
16  * <table>
17  * <thead>
18  * <tr><th>Value</th><th>Description</th></tr>
19  * </thead>
20  * <tbody>
21  * <tr><td><code>"ssao"</code></td><td>A basic screen-space AO effect.</td></tr>
22  * <tr><td><code>"hbao"</code></td><td>A form of SSAO that uses the depth buffer for better AO detail, sometimes at the expense of performance.</td></tr>
23  * </tbody>
24  * </table>
25  * @typedef {string} AmbientOcclusionTechnique
26  */
27 
28 enum class AmbientOcclusionTechnique : uint8_t {
29  SSAO = 0,
30  HBAO,
31 };
32 
33 class AmbientOcclusionTechniqueHelpers {
34 public:
35  static QString getNameForAmbientOcclusionTechnique(AmbientOcclusionTechnique curve);
36 };
37 
38 #endif // hifi_AmbientOcclusionTechnique_h