1 #ifndef ATTRIBUTEPASS_H
2 #define ATTRIBUTEPASS_H
4 #include "renderpass.h"
105 static void linkVMat(QMatrix4x4 &v);
128 std::list<VaoChannel*> objectIn;
131 static GLuint vertexShader, fragmentShader, shaderProgram,
132 loc_mvp, loc_pointSizeCoeff, loc_mv, loc_viewportScale, loc_npData, loc_depthFactor,
133 loc_splatScale, loc_modelScale;
134 static QMatrix4x4 *vpMat;
135 static QMatrix4x4 *vMat;
136 static float *pointSizeCoeff;
137 static unsigned char instanceCounter;
140 unsigned char drawMode;
143 bool updateDepthOfFBO();
146 void renderToScreen();
147 static bool initShaders();
148 static void cleanupShaders();
151 #endif // ATTRIBUTEPASS_H
static void linkVpMat(QMatrix4x4 &vp)
Links the view projection matrix that shall be used during rendering.
Definition: attributepass.cpp:104
bool normalMapToScreen()
Changes the output mode. The normal map is now drawn onto the screen.
Definition: attributepass.cpp:63
TextureChannel & getColorMapOutput()
Returns the color map.
Definition: attributepass.cpp:70
TextureChannel & getNormalMapOutput()
Returns the normal map.
Definition: attributepass.cpp:56
void addObjectInput(VaoChannel &vaoChannel)
Adds a model to the geometry input list.
Definition: attributepass.cpp:36
An abstract class for Render Passes.
Definition: renderpass.h:26
This channel is used to link textures or data maps.
Definition: renderpass.h:210
void cleanup() override
Resets the Render Pass to the state after creation but before initialization.
Definition: attributepass.cpp:28
static void linkPointSizeCoeff(float &coeff)
Links the point size coefficient.
Definition: attributepass.cpp:112
bool colorMapToScreen()
Changes the output mode. The color map is now drawn onto the screen.
Definition: attributepass.cpp:77
void removeInput() override
Removes all input channels except for VaoChannels. If the Render Pass uses VaoChannels as input use t...
Definition: attributepass.cpp:84
void setDepthMapInput(TextureChannel &textureChannel)
Sets the depth map that shall be used during rendering.
Definition: attributepass.cpp:48
void updateResolution() override
Must be called after the screen resolution has changed.
Definition: attributepass.cpp:92
A Render Pass that stores attributes for later deferred shading.
Definition: attributepass.h:17
void render() override
Uses the input data to generate the output.
Definition: attributepass.cpp:250
void linkSplatScale(float &scale)
Links the splat scale.
Definition: attributepass.cpp:116
void removeObjectInput(VaoChannel &vaoChannel)
Removes a model from the geometry input list.
Definition: attributepass.cpp:40
void clearObjectInput()
Removes all models from the geometry input list.
Definition: attributepass.cpp:44
static void linkVMat(QMatrix4x4 &v)
Links the view matrix that shall be used during rendering.
Definition: attributepass.cpp:108