fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / State / Shader / Variables / OSGShaderVariables.h
blob464078839d83437dcf942fcf124b79e9ae0d96c1
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2000-2002 by the OpenSG Forum *
6 * *
7 * www.opensg.org *
8 * *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
10 * *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13 * License *
14 * *
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
18 * *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
27 * *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30 * Changes *
31 * *
32 * *
33 * *
34 * *
35 * *
36 * *
37 \*---------------------------------------------------------------------------*/
39 #ifndef _OSGSHADERVARIABLES_H_
40 #define _OSGSHADERVARIABLES_H_
41 #ifdef __sgi
42 #pragma once
43 #endif
45 #include "OSGShaderVariableBool.h"
46 #include "OSGShaderVariableInt.h"
47 #include "OSGShaderVariableUInt.h"
48 #include "OSGShaderVariableReal.h"
50 #include "OSGShaderVariableVec2f.h"
51 #include "OSGShaderVariableVec3f.h"
52 #include "OSGShaderVariableVec4f.h"
54 #include "OSGShaderVariablePnt2f.h"
55 #include "OSGShaderVariablePnt3f.h"
57 #include "OSGShaderVariableMatrix.h"
59 #include "OSGShaderVariableMInt.h"
60 #include "OSGShaderVariableMUInt.h"
61 #include "OSGShaderVariableMReal.h"
63 #include "OSGShaderVariableMVec2f.h"
64 #include "OSGShaderVariableMVec3f.h"
65 #include "OSGShaderVariableMVec4f.h"
67 #include "OSGShaderVariableMMatrix.h"
69 #include "OSGShaderVariableOSG.h"
71 #include "OSGShaderVariableUniformBlock.h"
72 #include "OSGShaderVariableShaderStorageBlock.h"
74 #include "OSGGLFuncProtos.h"
75 #include "OSGShaderProgram.h"
77 OSG_BEGIN_NAMESPACE
79 OSG_SYSTEM_DLLMAPPING
80 void osgUniformShaderVariableSwitch (DrawEnv *pEnv,
81 ShaderVariable *pVar,
82 Int32 &loc,
83 UInt32 uiProgram,
84 bool warnUnknown);
86 void osgUniformShaderVariableLocation(DrawEnv *pEnv,
87 ShaderVariable *pVar,
88 Int32 &loc,
89 UInt32 uiProgram );
91 void osgUniformShaderVariableBool (DrawEnv *pEnv,
92 ShaderVariable *pVar,
93 Int32 &loc,
94 UInt32 uiProgram,
95 bool warnUnknown);
97 void osgUniformShaderVariableInt (DrawEnv *pEnv,
98 ShaderVariable *pVar,
99 Int32 &loc,
100 UInt32 uiProgram,
101 bool warnUnknown);
103 void osgUniformShaderVariableUInt (DrawEnv *pEnv,
104 ShaderVariable *pVar,
105 Int32 &loc,
106 UInt32 uiProgram,
107 bool warnUnknown);
109 void osgUniformShaderVariableReal (DrawEnv *pEnv,
110 ShaderVariable *pVar,
111 Int32 &loc,
112 UInt32 uiProgram,
113 bool warnUnknown);
115 void osgUniformShaderVariableVec2f (DrawEnv *pEnv,
116 ShaderVariable *pVar,
117 Int32 &loc,
118 UInt32 uiProgram,
119 bool warnUnknown);
121 void osgUniformShaderVariableVec3f (DrawEnv *pEnv,
122 ShaderVariable *pVar,
123 Int32 &loc,
124 UInt32 uiProgram,
125 bool warnUnknown);
127 void osgUniformShaderVariableVec4f (DrawEnv *pEnv,
128 ShaderVariable *pVar,
129 Int32 &loc,
130 UInt32 uiProgram,
131 bool warnUnknown);
133 void osgUniformShaderVariablePnt2f (DrawEnv *pEnv,
134 ShaderVariable *pVar,
135 Int32 &loc,
136 UInt32 uiProgram,
137 bool warnUnknown);
139 void osgUniformShaderVariablePnt3f (DrawEnv *pEnv,
140 ShaderVariable *pVar,
141 Int32 &loc,
142 UInt32 uiProgram,
143 bool warnUnknown);
145 void osgUniformShaderVariableMatrix (DrawEnv *pEnv,
146 ShaderVariable *pVar,
147 Int32 &loc,
148 UInt32 uiProgram,
149 bool warnUnknown);
151 void osgUniformShaderVariableMInt (DrawEnv *pEnv,
152 ShaderVariable *pVar,
153 Int32 &loc,
154 UInt32 uiProgram,
155 bool warnUnknown);
157 void osgUniformShaderVariableMUInt (DrawEnv *pEnv,
158 ShaderVariable *pVar,
159 Int32 &loc,
160 UInt32 uiProgram,
161 bool warnUnknown);
163 void osgUniformShaderVariableMReal (DrawEnv *pEnv,
164 ShaderVariable *pVar,
165 Int32 &loc,
166 UInt32 uiProgram,
167 bool warnUnknown);
169 void osgUniformShaderVariableMVec2f (DrawEnv *pEnv,
170 ShaderVariable *pVar,
171 Int32 &loc,
172 UInt32 uiProgram,
173 bool warnUnknown);
175 void osgUniformShaderVariableMVec3f (DrawEnv *pEnv,
176 ShaderVariable *pVar,
177 Int32 &loc,
178 UInt32 uiProgram,
179 bool warnUnknown);
181 void osgUniformShaderVariableMVec4f (DrawEnv *pEnv,
182 ShaderVariable *pVar,
183 Int32 &loc,
184 UInt32 uiProgram,
185 bool warnUnknown);
187 void osgUniformShaderVariableMMatrix (DrawEnv *pEnv,
188 ShaderVariable *pVar,
189 Int32 &loc,
190 UInt32 uiProgram,
191 bool warnUnknown);
193 void osgUniformShaderUniformBlockLocation
194 (DrawEnv *pEnv,
195 ShaderVariable *pVar,
196 Int32 &loc,
197 UInt32 uiProgram );
199 void osgUniformShaderUniformBlockBinding
200 (DrawEnv *pEnv,
201 ShaderVariable *pVar,
202 Int32 &loc,
203 UInt32 uiProgram,
204 bool warnUnknown);
206 void osgUniformShaderStorageBlockLocation
207 (DrawEnv *pEnv,
208 ShaderVariable *pVar,
209 Int32 &loc,
210 UInt32 uiProgram );
212 void osgUniformShaderStorageBlockBinding
213 (DrawEnv *pEnv,
214 ShaderVariable *pVar,
215 Int32 &loc,
216 UInt32 uiProgram,
217 bool warnUnknown);
219 OSG_END_NAMESPACE
221 #include "OSGShaderVariables.inl"
223 #endif // _OSGSHADERVARIABLES_H_