PixelLightAPI
.
|
Abstract renderer geometry shader resource. More...
#include <GeometryShader.h>
Public Types | |
enum | EInputPrimitiveType { InputPoints = 0, InputLines = 1, InputLinesAdjacency = 2, InputTriangles = 3, InputTrianglesAdjacency = 4 } |
Input primitive type. More... | |
enum | EOutputPrimitiveType { OutputPoints = 0, OutputLines = 1, OutputTriangles = 2 } |
Output primitive type. More... | |
Public Member Functions | |
virtual PLRENDERER_API | ~GeometryShader () |
Destructor. | |
virtual EInputPrimitiveType | GetInputPrimitiveType () const =0 |
Returns the input primitive type. | |
virtual EOutputPrimitiveType | GetOutputPrimitiveType () const =0 |
Returns the output primitive type. | |
virtual PLCore::uint32 | GetNumOfOutputVertices () const =0 |
Returns the number of output vertices. | |
virtual bool | SetSourceCode (const PLCore::String &sSourceCode, EInputPrimitiveType nInputPrimitiveType, EOutputPrimitiveType nOutputPrimitiveType, PLCore::uint32 nNumOfOutputVertices, const PLCore::String &sProfile="", const PLCore::String &sArguments="", const PLCore::String &sEntry="")=0 |
Sets the geometry shader source code. | |
Protected Member Functions | |
PLRENDERER_API | GeometryShader (Renderer &cRenderer) |
Constructor. |
Abstract renderer geometry shader resource.
Input primitive type.
virtual PLRENDERER_API PLRenderer::GeometryShader::~GeometryShader | ( | ) | [virtual] |
Destructor.
PLRENDERER_API PLRenderer::GeometryShader::GeometryShader | ( | Renderer & | cRenderer | ) | [protected] |
Constructor.
[in] | cRenderer | Owner renderer |
virtual EInputPrimitiveType PLRenderer::GeometryShader::GetInputPrimitiveType | ( | ) | const [pure virtual] |
Returns the input primitive type.
virtual EOutputPrimitiveType PLRenderer::GeometryShader::GetOutputPrimitiveType | ( | ) | const [pure virtual] |
Returns the output primitive type.
virtual PLCore::uint32 PLRenderer::GeometryShader::GetNumOfOutputVertices | ( | ) | const [pure virtual] |
Returns the number of output vertices.
virtual bool PLRenderer::GeometryShader::SetSourceCode | ( | const PLCore::String & | sSourceCode, |
EInputPrimitiveType | nInputPrimitiveType, | ||
EOutputPrimitiveType | nOutputPrimitiveType, | ||
PLCore::uint32 | nNumOfOutputVertices, | ||
const PLCore::String & | sProfile = "" , |
||
const PLCore::String & | sArguments = "" , |
||
const PLCore::String & | sEntry = "" |
||
) | [pure virtual] |
Sets the geometry shader source code.
[in] | sSourceCode | Geometry shader source code, usually blank ASCII code |
[in] | nInputPrimitiveType | Input primitive type, for "Shader::SetSourceCode()" "InputTriangles" is used as default |
[in] | nOutputPrimitiveType | Output primitive type, for "Shader::SetSourceCode()" "OutputTriangles" is used as default |
[in] | nNumOfOutputVertices | Number of output vertices, 0 if the maximum possible number of output vertices should be used, for "Shader::SetSourceCode()" "0" is used as default |
[in] | sProfile | Geometry shader profile to use, if empty string, a default profile will be used which usually tries to use the best available profile that runs on most hardware |
[in] | sArguments | Optional shader compiler arguments, e.g. "version=150" when using Cg and a "glslg" profile |
[in] | sEntry | Entry point, if empty string, "main" is used as default |
|