#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().
1.7.2