#include <Shader.h>
Öffentliche Methoden | |
Shader () | |
~Shader () | |
ShaderObj | createShader (const char *vertexshadername, const char *fragmentshadername) |
void | start (int shadingmode, float slidingx, float slidingy, float slidingz, int slidemode, int slicing, float slidevalue, int central_differences, int maxintensity, int preshading, int interpolation, Vector resolution, float steps, int adaptiv, int clipping, int withgradient) |
void | stop () |
Shader class.
Diese Klasse dient zur Verwaltung der Shader für das Raycasting. Sie erbt die Funktionen von AbstractShader und erstellt, startet, stopt und löscht die Shader, welche mit Hilfe der Funktionen von Abstract Shader erstellt wurden.
Shader::Shader | ( | ) | [inline] |
Konstruktor: Erstellt alle Shader für das Raycasting
Shader::~Shader | ( | ) | [inline] |
Löscht alle Shaderobjekte, welche erstellt wurden
ShaderObj Shader::createShader | ( | const char * | vertexshadername, |
const char * | fragmentshadername | ||
) | [inline] |
Diese Funktion erstellt den jeweiligen Shader und verlinkt die ShaderID, sowie dessen Attribute.
[in] | vertexshadername | Pfad zum Vertexshader |
[in] | fragmentshadername | Pfad zum Fragmentshader |
void Shader::start | ( | int | shadingmode, |
float | slidingx, | ||
float | slidingy, | ||
float | slidingz, | ||
int | slidemode, | ||
int | slicing, | ||
float | slidevalue, | ||
int | central_differences, | ||
int | maxintensity, | ||
int | preshading, | ||
int | interpolation, | ||
Vector | resolution, | ||
float | steps, | ||
int | adaptiv, | ||
int | clipping, | ||
int | withgradient | ||
) | [inline] |
Diese Funktion startet den Shader.
[in] | shadingmode | Welche Renderingvariante soll benützt werden (Contour, Standard, Shadow, Exploration?) |
[in] | slidingx | X Koordinate der Lichtquelle |
[in] | slidingy | Y Koordinate der Lichtquelle |
[in] | slidingz | Z Koordinate der Lichtquelle |
[in] | slidemode | Soll nur Slices gezeichnet werden. |
[in] | slicing | Bestimmt darzustellenden Slice |
[in] | slidevalue | Bestimmt darzustellenden Slice |
[in] | central_differences | Sollen die Gradienten mithilfe der Central Differences berechnet werden. |
[in] | maxintensity | Wie sollen die Ray abgetastet werden (MIP, Standard, First, Avg) |
[in] | preshading | Soll das Objekt geshadet werden (mithilfe von Phong) |
[in] | interpolation | Sollen die Werte interpoliert werden |
[in] | resolution | Auflösung des FBOs |
[in] | steps | Anzahl der Schritte |
[in] | adaptiv | Soll adaptiv gesamplt werden |
void Shader::stop | ( | ) | [inline] |
Diese Funktion stoppt den Shader