5 #ifndef __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__
6 #define __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__
25 class IShaderConstantSetCallBack;
88 const c8* vertexShaderProgram,
89 const c8* vertexShaderEntryPointName,
91 const c8* pixelShaderProgram,
92 const c8* pixelShaderEntryPointName,
94 const c8* geometryShaderProgram,
95 const c8* geometryShaderEntryPointName =
"main",
107 const c8* vertexShaderProgram,
108 const c8* vertexShaderEntryPointName=
"main",
110 const c8* pixelShaderProgram=0,
111 const c8* pixelShaderEntryPointName=
"main",
119 vertexShaderProgram, vertexShaderEntryPointName,
120 vsCompileTarget, pixelShaderProgram,
121 pixelShaderEntryPointName, psCompileTarget,
124 callback, baseMaterial, userData, shadingLang);
132 const c8* vertexShaderProgram,
133 const c8* pixelShaderProgram=0,
139 vertexShaderProgram,
"main",
144 callback, baseMaterial, userData);
152 const c8* vertexShaderProgram,
153 const c8* pixelShaderProgram = 0,
154 const c8* geometryShaderProgram = 0,
163 vertexShaderProgram,
"main",
167 inType, outType, verticesOut,
168 callback, baseMaterial, userData);
215 const io::path& vertexShaderProgramFileName,
216 const c8* vertexShaderEntryPointName,
218 const io::path& pixelShaderProgramFileName,
219 const c8* pixelShaderEntryPointName,
221 const io::path& geometryShaderProgramFileName,
222 const c8* geometryShaderEntryPointName =
"main",
234 const io::path& vertexShaderProgramFileName,
235 const c8* vertexShaderEntryPointName =
"main",
237 const io::path& pixelShaderProgramFileName =
"",
238 const c8* pixelShaderEntryPointName =
"main",
246 vertexShaderProgramFileName, vertexShaderEntryPointName,
247 vsCompileTarget, pixelShaderProgramFileName,
248 pixelShaderEntryPointName, psCompileTarget,
251 callback, baseMaterial, userData, shadingLang);
259 const io::path& vertexShaderProgramFileName,
260 const io::path& pixelShaderProgramFileName =
"",
266 vertexShaderProgramFileName,
"main",
271 callback, baseMaterial, userData);
279 const io::path& vertexShaderProgramFileName,
280 const io::path& pixelShaderProgramFileName =
"",
281 const io::path& geometryShaderProgramFileName =
"",
290 vertexShaderProgramFileName,
"main",
293 geometryShaderProgramFileName,
"main",
EGST_GS_4_0,
294 inType, outType, verticesOut,
295 callback, baseMaterial, userData);
341 const c8* vertexShaderEntryPointName,
344 const c8* pixelShaderEntryPointName,
347 const c8* geometryShaderEntryPointName =
"main",
360 const c8* vertexShaderEntryPointName =
"main",
363 const c8* pixelShaderEntryPointName =
"main",
371 vertexShaderProgram, vertexShaderEntryPointName,
372 vsCompileTarget, pixelShaderProgram,
373 pixelShaderEntryPointName, psCompileTarget,
376 callback, baseMaterial, userData, shadingLang);
414 const c8* pixelShaderProgram = 0,
417 s32 userData = 0) = 0;
441 s32 userData = 0) = 0;
463 const io::path& pixelShaderProgramFileName,
466 s32 userData = 0) = 0;