#include <mitkShaderRepository.h>
Classes | |
class | Uniform |
Public Types | |
typedef Shader | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
Shader () | |
~Shader () | |
void | LoadPropertiesFromPath () |
Uniform * | GetUniform (char *) |
std::list< Uniform::Pointer > * | GetUniforms () |
Static Public Member Functions | |
static Pointer | New () |
Public Attributes | |
std::list< Uniform::Pointer > | uniforms |
std::string | name |
std::string | path |
Definition at line 50 of file mitkShaderRepository.h.
typedef itk::SmartPointer<const Self> mitk::ShaderRepository::Shader::ConstPointer |
Definition at line 54 of file mitkShaderRepository.h.
typedef itk::SmartPointer<Self> mitk::ShaderRepository::Shader::Pointer |
Definition at line 54 of file mitkShaderRepository.h.
Definition at line 54 of file mitkShaderRepository.h.
typedef itk::Object mitk::ShaderRepository::Shader::Superclass |
Definition at line 54 of file mitkShaderRepository.h.
mitk::ShaderRepository::Shader::Shader | ( | ) |
mitk::ShaderRepository::Shader::~Shader | ( | ) |
virtual const char* mitk::ShaderRepository::Shader::GetClassName | ( | ) | const [virtual] |
Uniform* mitk::ShaderRepository::Shader::GetUniform | ( | char * | ) | [inline] |
Definition at line 113 of file mitkShaderRepository.h.
{ return 0; }
std::list<Uniform::Pointer>* mitk::ShaderRepository::Shader::GetUniforms | ( | ) | [inline] |
Definition at line 115 of file mitkShaderRepository.h.
{ return &uniforms; }
void mitk::ShaderRepository::Shader::LoadPropertiesFromPath | ( | ) |
Definition at line 130 of file mitkShaderRepository.cpp.
{ vtkProperty *p; p = vtkProperty::New(); p->LoadMaterial(path.c_str()); vtkXMLMaterial *m=p->GetMaterial(); // Vertexshader uniforms { vtkXMLShader *s=m->GetVertexShader(); vtkXMLDataElement *x=s->GetRootElement(); int n=x->GetNumberOfNestedElements(); for(int r=0;r<n;r++) { vtkXMLDataElement *y=x->GetNestedElement(r); if(!strcmp(y->GetName(),"ApplicationUniform")) { Uniform::Pointer element=Uniform::New(); element->LoadFromXML(y); uniforms.push_back(element); } } } // Fragmentshader uniforms { vtkXMLShader *s=m->GetFragmentShader(); vtkXMLDataElement *x=s->GetRootElement(); int n=x->GetNumberOfNestedElements(); for(int r=0;r<n;r++) { vtkXMLDataElement *y=x->GetNestedElement(r); if(!strcmp(y->GetName(),"ApplicationUniform")) { Uniform::Pointer element=Uniform::New(); element->LoadFromXML(y); uniforms.push_back(element); } } } p->Delete(); }
static Pointer mitk::ShaderRepository::Shader::New | ( | ) | [static] |
std::string mitk::ShaderRepository::Shader::name |
Definition at line 108 of file mitkShaderRepository.h.
Referenced by mitk::ShaderRepository::ApplyProperties().
std::string mitk::ShaderRepository::Shader::path |
Definition at line 109 of file mitkShaderRepository.h.
Referenced by mitk::ShaderRepository::ApplyProperties().
Definition at line 96 of file mitkShaderRepository.h.
Referenced by mitk::ShaderRepository::ApplyProperties().