Overte C++ Documentation
graphics/src/graphics/ShaderConstants.h
1 // <!
2 // Created by Bradley Austin Davis on 2018/05/25
3 // Copyright 2013-2018 High Fidelity, Inc.
4 // Copyright 2024 Overte e.V.
5 //
6 // Distributed under the Apache License, Version 2.0.
7 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
8 // !>
9 
10 // <@if not GRAPHICS_SHADER_CONSTANTS_H@>
11 // <@def GRAPHICS_SHADER_CONSTANTS_H@>
12 
13 // Hack comment to absorb the extra '//' scribe prepends
14 
15 #ifndef GRAPHICS_SHADER_CONSTANTS_H
16 #define GRAPHICS_SHADER_CONSTANTS_H
17 
18 #define GRAPHICS_BUFFER_SKINNING 0
19 #define GRAPHICS_BUFFER_MATERIAL 1
20 #define GRAPHICS_BUFFER_KEY_LIGHT 4
21 #define GRAPHICS_BUFFER_LIGHT 5
22 #define GRAPHICS_BUFFER_AMBIENT_LIGHT 6
23 
24 #define GRAPHICS_TEXTURE_MATERIAL_ALBEDO 0
25 #define GRAPHICS_TEXTURE_MATERIAL_NORMAL 1
26 #define GRAPHICS_TEXTURE_MATERIAL_METALLIC 2
27 #define GRAPHICS_TEXTURE_MATERIAL_EMISSIVE_LIGHTMAP 3
28 #define GRAPHICS_TEXTURE_MATERIAL_ROUGHNESS 4
29 #define GRAPHICS_TEXTURE_MATERIAL_OCCLUSION 5
30 #define GRAPHICS_TEXTURE_MATERIAL_SCATTERING 6
31 
32 // Keep aligned with procedural/ProceduralMaterialCache.h
33 #define GRAPHICS_TEXTURE_MATERIAL_SHADE GRAPHICS_TEXTURE_MATERIAL_METALLIC
34 #define GRAPHICS_TEXTURE_MATERIAL_SHADING_SHIFT GRAPHICS_TEXTURE_MATERIAL_ROUGHNESS
35 #define GRAPHICS_TEXTURE_MATERIAL_MATCAP GRAPHICS_TEXTURE_MATERIAL_OCCLUSION
36 #define GRAPHICS_TEXTURE_MATERIAL_RIM GRAPHICS_TEXTURE_MATERIAL_SCATTERING
37 #define GRAPHICS_TEXTURE_MATERIAL_UV_ANIMATION_MASK 7
38 
39 // Make sure these match the ones in render-utils/ShaderConstants.h
40 #define GRAPHICS_TEXTURE_SKYBOX 11
41 #define GRAPHICS_BUFFER_SKYBOX_PARAMS 5
42 
43 #define GRAPHICS_BUFFER_HAZE_PARAMS 7
44 
45 // <!
46 
47 namespace graphics { namespace slot {
48 
49 namespace buffer {
50 enum Buffer {
51  Skinning = GRAPHICS_BUFFER_SKINNING,
52  Material = GRAPHICS_BUFFER_MATERIAL,
53  Light = GRAPHICS_BUFFER_LIGHT,
54  KeyLight = GRAPHICS_BUFFER_KEY_LIGHT,
55  AmbientLight = GRAPHICS_BUFFER_AMBIENT_LIGHT,
56  SkyboxParams = GRAPHICS_BUFFER_SKYBOX_PARAMS,
57  HazeParams = GRAPHICS_BUFFER_HAZE_PARAMS
58 };
59 } // namespace buffer
60 
61 namespace texture {
62 enum Texture {
63  MaterialAlbedo = GRAPHICS_TEXTURE_MATERIAL_ALBEDO,
64  MaterialNormal = GRAPHICS_TEXTURE_MATERIAL_NORMAL,
65  MaterialMetallic = GRAPHICS_TEXTURE_MATERIAL_METALLIC,
66  MaterialEmissiveLightmap = GRAPHICS_TEXTURE_MATERIAL_EMISSIVE_LIGHTMAP,
67  MaterialRoughness = GRAPHICS_TEXTURE_MATERIAL_ROUGHNESS,
68  MaterialOcclusion = GRAPHICS_TEXTURE_MATERIAL_OCCLUSION,
69  MaterialScattering = GRAPHICS_TEXTURE_MATERIAL_SCATTERING,
70  Skybox = GRAPHICS_TEXTURE_SKYBOX,
71 
72  MaterialShade = GRAPHICS_TEXTURE_MATERIAL_SHADE,
73  MaterialShadingShift = GRAPHICS_TEXTURE_MATERIAL_SHADING_SHIFT,
74  MaterialMatcap = GRAPHICS_TEXTURE_MATERIAL_MATCAP,
75  MaterialRim = GRAPHICS_TEXTURE_MATERIAL_RIM,
76  MaterialUVAnimationMask = GRAPHICS_TEXTURE_MATERIAL_UV_ANIMATION_MASK,
77 };
78 } // namespace texture
79 
80 } } // namespace graphics::slot
81 
82 // !>
83 // Hack Comment
84 
85 #endif // GRAPHICS_SHADER_CONSTANTS_H
86 
87 // <@if 1@>
88 // Trigger Scribe include
89 // <@endif@> <!def that !>
90 
91 // <@endif@>
92 
93 // Hack Comment
A simple object wrapper for an OpenGL texture.
Definition: material-networking/src/material-networking/TextureCache.h:39