Overte C++ Documentation
gpu/src/gpu/ShaderConstants.h
1 // <!
2 // Created by Bradley Austin Davis on 2018/05/25
3 // Copyright 2013-2018 High Fidelity, Inc.
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 // <@if not GPU_SHADER_CONSTANTS_H@>
10 // <@def GPU_SHADER_CONSTANTS_H@>
11 
12 // Hack comment to absorb the extra '//' scribe prepends
13 
14 #ifndef GPU_SHADER_CONSTANTS_H
15 #define GPU_SHADER_CONSTANTS_H
16 
17 #define GPU_BUFFER_TRANSFORM_CAMERA 15
18 #define GPU_BUFFER_TEXTURE_TABLE0 16
19 #define GPU_BUFFER_TEXTURE_TABLE1 17
20 
21 #define GPU_TEXTURE_TRANSFORM_OBJECT 31
22 
23 #define GPU_RESOURCE_BUFFER_SLOT0_TEXTURE 35
24 #define GPU_RESOURCE_BUFFER_SLOT1_TEXTURE 36
25 #define GPU_RESOURCE_BUFFER_SLOT0_STORAGE 0
26 #define GPU_RESOURCE_BUFFER_SLOT1_STORAGE 1
27 
28 // Mip creation
29 #define GPU_TEXTURE_MIP_CREATION_INPUT 30
30 
31 #define GPU_STORAGE_TRANSFORM_OBJECT 7
32 
33 #define GPU_ATTR_POSITION 0
34 #define GPU_ATTR_NORMAL 1
35 #define GPU_ATTR_COLOR 2
36 #define GPU_ATTR_TEXCOORD0 3
37 #define GPU_ATTR_TANGENT 4
38 #define GPU_ATTR_SKIN_CLUSTER_INDEX 5
39 #define GPU_ATTR_SKIN_CLUSTER_WEIGHT 6
40 #define GPU_ATTR_TEXCOORD1 7
41 #define GPU_ATTR_TEXCOORD2 8
42 #define GPU_ATTR_TEXCOORD3 9
43 #define GPU_ATTR_TEXCOORD4 10
44 #define GPU_ATTR_FADEDATA1 7 // fade data is only used for shapes, which don't have multiple tex coords
45 #define GPU_ATTR_FADEDATA2 8
46 #define GPU_ATTR_FADEDATA3 9
47 #define GPU_ATTR_FADEDATA4 10
48 #define GPU_ATTR_FADEDATA5 11
49 #define GPU_ATTR_FADEDATA6 12
50 #define GPU_ATTR_FADEDATA7 13
51 #define GPU_ATTR_STEREO_SIDE 14
52 #define GPU_ATTR_DRAW_CALL_INFO 15
53 
54 #define GPU_ATTR_V2F_STEREO_SIDE 18
55 #define GPU_ATTR_V2F_DRAW_CALL_INFO 19
56 
57 #define GPU_UNIFORM_EXTRA0 110
58 #define GPU_UNIFORM_EXTRA1 111
59 #define GPU_UNIFORM_EXTRA2 112
60 #define GPU_UNIFORM_EXTRA3 113
61 #define GPU_UNIFORM_EXTRA4 114
62 #define GPU_UNIFORM_EXTRA5 115
63 #define GPU_UNIFORM_EXTRA6 116
64 #define GPU_UNIFORM_EXTRA7 117
65 #define GPU_UNIFORM_EXTRA8 118
66 #define GPU_UNIFORM_EXTRA9 119
67 
68 // <!
69 
70 namespace gpu { namespace slot {
71 
72 namespace buffer {
73 enum Buffer {
74  CameraTransform = GPU_BUFFER_TRANSFORM_CAMERA,
75  TextureTable0 = GPU_BUFFER_TEXTURE_TABLE0,
76  TextureTable1 = GPU_BUFFER_TEXTURE_TABLE1,
77 };
78 } // namespace buffer
79 
80 namespace texture {
81 enum Texture {
82  ObjectTransforms = GPU_TEXTURE_TRANSFORM_OBJECT,
83  MipCreationInput = GPU_TEXTURE_MIP_CREATION_INPUT,
84 };
85 } // namespace texture
86 
87 namespace storage {
88 enum Storage {
89  ObjectTransforms = GPU_STORAGE_TRANSFORM_OBJECT,
90 };
91 } // namespace storage
92 
93 namespace attr {
94 enum Attribute {
95  Position = GPU_ATTR_POSITION,
96  Normal = GPU_ATTR_NORMAL,
97  Color = GPU_ATTR_COLOR,
98  TexCoord0 = GPU_ATTR_TEXCOORD0,
99  Tangent = GPU_ATTR_TANGENT,
100  SkinClusterIndex = GPU_ATTR_SKIN_CLUSTER_INDEX,
101  SkinClusterWeight = GPU_ATTR_SKIN_CLUSTER_WEIGHT,
102  TexCoord1 = GPU_ATTR_TEXCOORD1,
103  TexCoord2 = GPU_ATTR_TEXCOORD2,
104  TexCoord3 = GPU_ATTR_TEXCOORD3,
105  TexCoord4 = GPU_ATTR_TEXCOORD4,
106  FadeData1 = GPU_ATTR_FADEDATA1,
107  FadeData2 = GPU_ATTR_FADEDATA2,
108  FadeData3 = GPU_ATTR_FADEDATA3,
109  FadeData4 = GPU_ATTR_FADEDATA4,
110  FadeData5 = GPU_ATTR_FADEDATA5,
111  FadeData6 = GPU_ATTR_FADEDATA6,
112  FadeData7 = GPU_ATTR_FADEDATA7,
113  StereoSide = GPU_ATTR_STEREO_SIDE,
114  DrawCallInfo = GPU_ATTR_DRAW_CALL_INFO,
115 };
116 } // namespace attr
117 
118 } } // namespace gpu::slot
119 
120 // !>
121 
122 // Hack Comment
123 #endif // GPU_SHADER_CONSTANTS_H
124 
125 // <@if 1@>
126 // Trigger Scribe include
127 // <@endif@> <!def that !>
128 
129 // <@endif@>
130 
131 // Hack Comment
A simple object wrapper for an OpenGL texture.
Definition: material-networking/src/material-networking/TextureCache.h:39