DI-Guy SDK Documentation  13.8
diguyOsgGraphicsShaderProgram.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2024 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
6 #pragma once
7 
9 
10 #include <osg/Program>
11 #include <osg/Shader>
12 
13 
36 {
37 
38 public:
39 
40  diguyOsgGraphicsShaderProgram(void* internal_data);
42 
43  virtual int load_vertex_shader_source(const char* filename) override;
44  virtual int load_pixel_shader_source(const char* filename) override;
45  virtual int link() override;
46 
47  osg::Program* get_program() {return m_program.get();}
48  //osg::StateSet* get_state_set(){return m_shader_state_set;}
49 
50 
51 protected:
52 
53  char m_vertex_shader_filename[512];
55 
56  osg::ref_ptr<osg::Program> m_program;
57  osg::ref_ptr<osg::Shader> m_vertex_shader;
58  osg::ref_ptr<osg::Shader> m_fragment_shader;
59  //osg::ref_ptr<osg::StateSet> m_shader_state_set;
60 };
61 
osg::ref_ptr< osg::Shader > m_fragment_shader
Definition: diguyOsgGraphicsShaderProgram.h:56
char m_fragment_shader_filename[512]
Definition: diguyOsgGraphicsShaderProgram.h:52
Definition: diguyOsgGraphicsShaderProgram.h:34
diguyGraphicsShaderProgram * diguyOsgGraphicsShaderProgram_create_func(void *internal_data)
Create function declaration.
char m_vertex_shader_filename[512]
Definition: diguyOsgGraphicsShaderProgram.h:51
osg::ref_ptr< osg::Program > m_program
Definition: diguyOsgGraphicsShaderProgram.h:54
virtual int link() override
This function will be called by DI-Guy when it is time for the shader program to be linked...
virtual int load_pixel_shader_source(const char *filename) override
This function is the pixel shader (AKA fragment shader in OpenGL) equivalent of load_vertex_shader_so...
osg::ref_ptr< osg::Shader > m_vertex_shader
Definition: diguyOsgGraphicsShaderProgram.h:55
diguyOsgGraphicsShaderProgram(void *internal_data)
virtual int load_vertex_shader_source(const char *filename) override
This function will be called by DI-Guy when it is time for the vertex part of this shader to be loade...
osg::Program * get_program()
Definition: diguyOsgGraphicsShaderProgram.h:46
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94