From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- .../_i_g_p_u_programming_services_8h_source.html | 383 +++++++++++++++++++++ 1 file changed, 383 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/_i_g_p_u_programming_services_8h_source.html (limited to 'src/others/irrlicht-1.8.1/doc/html/_i_g_p_u_programming_services_8h_source.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/_i_g_p_u_programming_services_8h_source.html b/src/others/irrlicht-1.8.1/doc/html/_i_g_p_u_programming_services_8h_source.html new file mode 100644 index 0000000..4551e75 --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/_i_g_p_u_programming_services_8h_source.html @@ -0,0 +1,383 @@ + + +
+ +00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt +00002 // This file is part of the "Irrlicht Engine". +00003 // For conditions of distribution and use, see copyright notice in irrlicht.h +00004 +00005 #ifndef __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__ +00006 #define __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__ +00007 +00008 #include "EShaderTypes.h" +00009 #include "EMaterialTypes.h" +00010 #include "EPrimitiveTypes.h" +00011 #include "path.h" +00012 +00013 namespace irr +00014 { +00015 +00016 namespace io +00017 { +00018 class IReadFile; +00019 } // end namespace io +00020 +00021 namespace video +00022 { +00023 +00024 class IVideoDriver; +00025 class IShaderConstantSetCallBack; +00026 +00028 enum E_GPU_SHADING_LANGUAGE +00029 { +00031 EGSL_DEFAULT = 0, +00032 +00034 EGSL_CG +00035 }; +00036 +00038 class IGPUProgrammingServices +00039 { +00040 public: +00041 +00043 virtual ~IGPUProgrammingServices() {} +00044 +00046 +00087 virtual s32 addHighLevelShaderMaterial( +00088 const c8* vertexShaderProgram, +00089 const c8* vertexShaderEntryPointName, +00090 E_VERTEX_SHADER_TYPE vsCompileTarget, +00091 const c8* pixelShaderProgram, +00092 const c8* pixelShaderEntryPointName, +00093 E_PIXEL_SHADER_TYPE psCompileTarget, +00094 const c8* geometryShaderProgram, +00095 const c8* geometryShaderEntryPointName = "main", +00096 E_GEOMETRY_SHADER_TYPE gsCompileTarget = EGST_GS_4_0, +00097 scene::E_PRIMITIVE_TYPE inType = scene::EPT_TRIANGLES, +00098 scene::E_PRIMITIVE_TYPE outType = scene::EPT_TRIANGLE_STRIP, +00099 u32 verticesOut = 0, +00100 IShaderConstantSetCallBack* callback = 0, +00101 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00102 s32 userData = 0, +00103 E_GPU_SHADING_LANGUAGE shadingLang = EGSL_DEFAULT) = 0; +00104 +00106 s32 addHighLevelShaderMaterial( +00107 const c8* vertexShaderProgram, +00108 const c8* vertexShaderEntryPointName="main", +00109 E_VERTEX_SHADER_TYPE vsCompileTarget=EVST_VS_1_1, +00110 const c8* pixelShaderProgram=0, +00111 const c8* pixelShaderEntryPointName="main", +00112 E_PIXEL_SHADER_TYPE psCompileTarget=EPST_PS_1_1, +00113 IShaderConstantSetCallBack* callback=0, +00114 E_MATERIAL_TYPE baseMaterial=video::EMT_SOLID, +00115 s32 userData=0, +00116 E_GPU_SHADING_LANGUAGE shadingLang=EGSL_DEFAULT) +00117 { +00118 return addHighLevelShaderMaterial( +00119 vertexShaderProgram, vertexShaderEntryPointName, +00120 vsCompileTarget, pixelShaderProgram, +00121 pixelShaderEntryPointName, psCompileTarget, +00122 0, "main", EGST_GS_4_0, +00123 scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, +00124 callback, baseMaterial, userData, shadingLang); +00125 } +00126 +00128 +00131 s32 addHighLevelShaderMaterial( +00132 const c8* vertexShaderProgram, +00133 const c8* pixelShaderProgram=0, +00134 IShaderConstantSetCallBack* callback=0, +00135 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00136 s32 userData=0) +00137 { +00138 return addHighLevelShaderMaterial( +00139 vertexShaderProgram, "main", +00140 EVST_VS_1_1, pixelShaderProgram, +00141 "main", EPST_PS_1_1, +00142 0, "main", EGST_GS_4_0, +00143 scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, +00144 callback, baseMaterial, userData); +00145 } +00146 +00148 +00151 s32 addHighLevelShaderMaterial( +00152 const c8* vertexShaderProgram, +00153 const c8* pixelShaderProgram = 0, +00154 const c8* geometryShaderProgram = 0, +00155 scene::E_PRIMITIVE_TYPE inType = scene::EPT_TRIANGLES, +00156 scene::E_PRIMITIVE_TYPE outType = scene::EPT_TRIANGLE_STRIP, +00157 u32 verticesOut = 0, +00158 IShaderConstantSetCallBack* callback = 0, +00159 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00160 s32 userData = 0 ) +00161 { +00162 return addHighLevelShaderMaterial( +00163 vertexShaderProgram, "main", +00164 EVST_VS_1_1, pixelShaderProgram, +00165 "main", EPST_PS_1_1, +00166 geometryShaderProgram, "main", EGST_GS_4_0, +00167 inType, outType, verticesOut, +00168 callback, baseMaterial, userData); +00169 } +00170 +00172 +00214 virtual s32 addHighLevelShaderMaterialFromFiles( +00215 const io::path& vertexShaderProgramFileName, +00216 const c8* vertexShaderEntryPointName, +00217 E_VERTEX_SHADER_TYPE vsCompileTarget, +00218 const io::path& pixelShaderProgramFileName, +00219 const c8* pixelShaderEntryPointName, +00220 E_PIXEL_SHADER_TYPE psCompileTarget, +00221 const io::path& geometryShaderProgramFileName, +00222 const c8* geometryShaderEntryPointName = "main", +00223 E_GEOMETRY_SHADER_TYPE gsCompileTarget = EGST_GS_4_0, +00224 scene::E_PRIMITIVE_TYPE inType = scene::EPT_TRIANGLES, +00225 scene::E_PRIMITIVE_TYPE outType = scene::EPT_TRIANGLE_STRIP, +00226 u32 verticesOut = 0, +00227 IShaderConstantSetCallBack* callback = 0, +00228 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00229 s32 userData = 0, +00230 E_GPU_SHADING_LANGUAGE shadingLang = EGSL_DEFAULT) = 0; +00231 +00233 s32 addHighLevelShaderMaterialFromFiles( +00234 const io::path& vertexShaderProgramFileName, +00235 const c8* vertexShaderEntryPointName = "main", +00236 E_VERTEX_SHADER_TYPE vsCompileTarget = EVST_VS_1_1, +00237 const io::path& pixelShaderProgramFileName = "", +00238 const c8* pixelShaderEntryPointName = "main", +00239 E_PIXEL_SHADER_TYPE psCompileTarget = EPST_PS_1_1, +00240 IShaderConstantSetCallBack* callback = 0, +00241 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00242 s32 userData = 0, +00243 E_GPU_SHADING_LANGUAGE shadingLang = EGSL_DEFAULT) +00244 { +00245 return addHighLevelShaderMaterialFromFiles( +00246 vertexShaderProgramFileName, vertexShaderEntryPointName, +00247 vsCompileTarget, pixelShaderProgramFileName, +00248 pixelShaderEntryPointName, psCompileTarget, +00249 "", "main", EGST_GS_4_0, +00250 scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, +00251 callback, baseMaterial, userData, shadingLang); +00252 } +00253 +00255 +00258 s32 addHighLevelShaderMaterialFromFiles( +00259 const io::path& vertexShaderProgramFileName, +00260 const io::path& pixelShaderProgramFileName = "", +00261 IShaderConstantSetCallBack* callback = 0, +00262 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00263 s32 userData = 0 ) +00264 { +00265 return addHighLevelShaderMaterialFromFiles( +00266 vertexShaderProgramFileName, "main", +00267 EVST_VS_1_1, pixelShaderProgramFileName, +00268 "main", EPST_PS_1_1, +00269 "", "main", EGST_GS_4_0, +00270 scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, +00271 callback, baseMaterial, userData); +00272 } +00273 +00275 +00278 s32 addHighLevelShaderMaterialFromFiles( +00279 const io::path& vertexShaderProgramFileName, +00280 const io::path& pixelShaderProgramFileName = "", +00281 const io::path& geometryShaderProgramFileName = "", +00282 scene::E_PRIMITIVE_TYPE inType = scene::EPT_TRIANGLES, +00283 scene::E_PRIMITIVE_TYPE outType = scene::EPT_TRIANGLE_STRIP, +00284 u32 verticesOut = 0, +00285 IShaderConstantSetCallBack* callback = 0, +00286 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00287 s32 userData = 0 ) +00288 { +00289 return addHighLevelShaderMaterialFromFiles( +00290 vertexShaderProgramFileName, "main", +00291 EVST_VS_1_1, pixelShaderProgramFileName, +00292 "main", EPST_PS_1_1, +00293 geometryShaderProgramFileName, "main", EGST_GS_4_0, +00294 inType, outType, verticesOut, +00295 callback, baseMaterial, userData); +00296 } +00297 +00299 +00339 virtual s32 addHighLevelShaderMaterialFromFiles( +00340 io::IReadFile* vertexShaderProgram, +00341 const c8* vertexShaderEntryPointName, +00342 E_VERTEX_SHADER_TYPE vsCompileTarget, +00343 io::IReadFile* pixelShaderProgram, +00344 const c8* pixelShaderEntryPointName, +00345 E_PIXEL_SHADER_TYPE psCompileTarget, +00346 io::IReadFile* geometryShaderProgram, +00347 const c8* geometryShaderEntryPointName = "main", +00348 E_GEOMETRY_SHADER_TYPE gsCompileTarget = EGST_GS_4_0, +00349 scene::E_PRIMITIVE_TYPE inType = scene::EPT_TRIANGLES, +00350 scene::E_PRIMITIVE_TYPE outType = scene::EPT_TRIANGLE_STRIP, +00351 u32 verticesOut = 0, +00352 IShaderConstantSetCallBack* callback = 0, +00353 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00354 s32 userData = 0, +00355 E_GPU_SHADING_LANGUAGE shadingLang = EGSL_DEFAULT) = 0; +00356 +00358 s32 addHighLevelShaderMaterialFromFiles( +00359 io::IReadFile* vertexShaderProgram, +00360 const c8* vertexShaderEntryPointName = "main", +00361 E_VERTEX_SHADER_TYPE vsCompileTarget = EVST_VS_1_1, +00362 io::IReadFile* pixelShaderProgram = 0, +00363 const c8* pixelShaderEntryPointName = "main", +00364 E_PIXEL_SHADER_TYPE psCompileTarget = EPST_PS_1_1, +00365 IShaderConstantSetCallBack* callback = 0, +00366 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00367 s32 userData = 0, +00368 E_GPU_SHADING_LANGUAGE shadingLang = EGSL_DEFAULT) +00369 { +00370 return addHighLevelShaderMaterialFromFiles( +00371 vertexShaderProgram, vertexShaderEntryPointName, +00372 vsCompileTarget, pixelShaderProgram, +00373 pixelShaderEntryPointName, psCompileTarget, +00374 0, "main", EGST_GS_4_0, +00375 scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, +00376 callback, baseMaterial, userData, shadingLang); +00377 } +00378 +00380 +00413 virtual s32 addShaderMaterial(const c8* vertexShaderProgram = 0, +00414 const c8* pixelShaderProgram = 0, +00415 IShaderConstantSetCallBack* callback = 0, +00416 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00417 s32 userData = 0) = 0; +00418 +00420 +00437 virtual s32 addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram, +00438 io::IReadFile* pixelShaderProgram, +00439 IShaderConstantSetCallBack* callback = 0, +00440 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00441 s32 userData = 0) = 0; +00442 +00444 +00462 virtual s32 addShaderMaterialFromFiles(const io::path& vertexShaderProgramFileName, +00463 const io::path& pixelShaderProgramFileName, +00464 IShaderConstantSetCallBack* callback = 0, +00465 E_MATERIAL_TYPE baseMaterial = video::EMT_SOLID, +00466 s32 userData = 0) = 0; +00467 }; +00468 +00469 +00470 } // end namespace video +00471 } // end namespace irr +00472 +00473 #endif +00474 +