DI-Guy SDK Documentation  13.2
diguyOsgGraphicsShaderProgram.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 #include <osg/Program>
6 #include <osg/Shader>
7 
8 
31 {
32 
33 public:
34 
35  diguyOsgGraphicsShaderProgram(void* internal_data);
37 
38  virtual int load_vertex_shader_source(const char* filename);
39  virtual int load_pixel_shader_source(const char* filename);
40  virtual int link();
41 
42  osg::Program* get_program() {return m_program.get();}
43  osg::StateSet* get_state_set(){return m_state_set;}
44 
45 
46 protected:
47 
48  char m_vertex_shader_filename[512];
50 
51  osg::ref_ptr<osg::Program> m_program;
52  osg::ref_ptr<osg::Shader> m_vertex_shader;
53  osg::ref_ptr<osg::Shader> m_fragment_shader;
54  osg::ref_ptr<osg::StateSet> m_state_set;
55 };
56 
osg::ref_ptr< osg::Shader > m_fragment_shader
Definition: diguyOsgGraphicsShaderProgram.h:51
char m_fragment_shader_filename[512]
Definition: diguyOsgGraphicsShaderProgram.h:47
Definition: diguyOsgGraphicsShaderProgram.h:29
diguyGraphicsShaderProgram * diguyOsgGraphicsShaderProgram_create_func(void *internal_data)
Create function declaration.
Definition: diguyOsgGraphicsShaderProgram.cpp:404
char m_vertex_shader_filename[512]
Definition: diguyOsgGraphicsShaderProgram.h:46
osg::ref_ptr< osg::Program > m_program
Definition: diguyOsgGraphicsShaderProgram.h:49
virtual int link()
This function will be called by DI-Guy when it is time for the shader program to be linked...
Definition: diguyOsgGraphicsShaderProgram.cpp:318
osg::ref_ptr< osg::Shader > m_vertex_shader
Definition: diguyOsgGraphicsShaderProgram.h:50
osg::ref_ptr< osg::StateSet > m_state_set
Definition: diguyOsgGraphicsShaderProgram.h:52
~diguyOsgGraphicsShaderProgram()
Definition: diguyOsgGraphicsShaderProgram.cpp:103
diguyOsgGraphicsShaderProgram(void *internal_data)
Definition: diguyOsgGraphicsShaderProgram.cpp:34
osg::Program * get_program()
Definition: diguyOsgGraphicsShaderProgram.h:41
virtual int load_pixel_shader_source(const char *filename)
This function is the pixel shader (AKA fragment shader in OpenGL) equivalent of load_vertex_shader_so...
Definition: diguyOsgGraphicsShaderProgram.cpp:214
virtual int load_vertex_shader_source(const char *filename)
This function will be called by DI-Guy when it is time for the vertex part of this shader to be loade...
Definition: diguyOsgGraphicsShaderProgram.cpp:134
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:96
osg::StateSet * get_state_set()
Definition: diguyOsgGraphicsShaderProgram.h:42