~brandontschaefer/nux/xim-tests

« back to all changes in this revision

Viewing changes to NuxGraphics/IOpenGLGLSLShader.h

  • Committer: Brandon Schaefer
  • Date: 2012-10-19 00:23:27 UTC
  • mfrom: (637.2.55 trunk)
  • Revision ID: brandon.schaefer@canonical.com-20121019002327-60e88jn3k8chi7gt
* Merged trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
  class IOpenGLResource;
30
30
 
31
 
  bool ExtractShaderString3(const NString &ShaderToken, const NString &ShaderSource, NString &RetSource, NString ShaderPreprocessorDefines = NString(""));
 
31
  bool ExtractShaderString3(const std::string &ShaderToken, const std::string &ShaderSource, std::string &RetSource, std::string ShaderPreprocessorDefines = std::string(""));
32
32
 
33
33
  class IOpenGLShader:  public IOpenGLResource
34
34
  {
35
35
    NUX_DECLARE_OBJECT_TYPE(IOpenGLShader, IOpenGLResource);
36
 
    IOpenGLShader(NString ShaderName, OpenGLResourceType ResourceType);
 
36
    IOpenGLShader(std::string ShaderName, OpenGLResourceType ResourceType);
37
37
    virtual ~IOpenGLShader();
38
38
  public:
39
39
    virtual void SetShaderCode(const ANSICHAR *ShaderCode, const char *ShaderPreprocessorDefines = "") = 0;
40
40
    virtual bool Compile() = 0;
41
41
    virtual bool IsValid() = 0;
42
 
    NString _ShaderName;
43
 
    NString _ShaderCode;
 
42
    std::string _ShaderName;
 
43
    std::string _ShaderCode;
44
44
  };
45
45
 
46
46
  class IOpenGLVertexShader:  public IOpenGLShader
52
52
    virtual bool Compile();
53
53
    virtual bool IsValid();
54
54
  private:
55
 
    IOpenGLVertexShader(NString ShaderName = NString("Vertex Shader"));
 
55
    IOpenGLVertexShader(std::string ShaderName = std::string("Vertex Shader"));
56
56
    int m_CompiledAndReady;
57
57
    friend class GpuDevice;
58
58
  };
66
66
    virtual bool Compile();
67
67
    virtual bool IsValid();
68
68
  private:
69
 
    IOpenGLPixelShader(NString ShaderName = NString("Fragment Shader"));
 
69
    IOpenGLPixelShader(std::string ShaderName = std::string("Fragment Shader"));
70
70
    int m_CompiledAndReady;
71
71
    friend class GpuDevice;
72
72
  };
86
86
    void SetMaxVertexOutput(int max_vertex_output);
87
87
 
88
88
  private:
89
 
    IOpenGLGeometryShader(NString ShaderName = NString("Geometry Shader"));
 
89
    IOpenGLGeometryShader(std::string ShaderName = std::string("Geometry Shader"));
90
90
    int m_CompiledAndReady;
91
91
    friend class GpuDevice;
92
92
  };
207
207
    int GetAttributeLocation(const char *AttributeName);
208
208
 
209
209
  private:
210
 
    IOpenGLShaderProgram(NString ShaderProgramName = NString("ShaderProgram"));
 
210
    IOpenGLShaderProgram(std::string ShaderProgramName = std::string("ShaderProgram"));
211
211
    ShaderAttributeDefinition m_ProgramAttributeDefinition[16/*NUM_VERTEX_SHADER_INPUT_ATTRIBUTE*/];
212
212
    std::vector<ObjectPtr<IOpenGLShader> > ShaderObjectList;
213
213
    bool m_CompiledAndReady;
214
 
    NString _ShaderProgramName;
 
214
    std::string _ShaderProgramName;
215
215
    friend class GpuDevice;
216
216
  };
217
217