Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_CSGFX_SHADERVARARRAYHELPER_H__
00020 #define __CS_CSGFX_SHADERVARARRAYHELPER_H__
00021
00022 #include "ivideo/shader/shader.h"
00023 #include "csgfx/shadervarnameparser.h"
00024
00030 namespace CS
00031 {
00032 namespace Graphics
00033 {
00034 class CS_CRYSTALSPACE_EXPORT ShaderVarArrayHelper
00035 {
00036 public:
00040 enum MissingAction
00041 {
00043 maCreate,
00045 maCreateNoEnlarge,
00047 maFail
00048 };
00050 enum Error
00051 {
00053 errSuccess,
00055 errNoArray,
00057 errArrayToSmall,
00059 errNoEntry
00060 };
00061
00080 static csShaderVariable* GetArrayItem (csShaderVariable* outer,
00081 const ShaderVarNameParser& indices, MissingAction missingAction,
00082 Error* errorStatus = 0, size_t* errorLevel = 0);
00083
00103 static csShaderVariable* GetArrayItem (csShaderVariable* outer,
00104 const size_t* indices, size_t indexNum, MissingAction missingAction,
00105 Error* errorStatus = 0, size_t* errorLevel = 0);
00106 };
00107 }
00108 }
00109
00110 #endif // __CS_CSGFX_SHADERVARARRAYHELPER_H__