This class allows other shaders to add the capability to support Screen Space Ambient Occlusion (SSAO).
More...
#include <Rendering/OpenGL/Shaders/Capabilities/wsglscreenspaceambientocclusioncapability.h>
|
| WSGLScreenSpaceAmbientOcclusionCapability () |
|
| WSGLScreenSpaceAmbientOcclusionCapability (const WSGLScreenSpaceAmbientOcclusionCapability &other) |
|
| ~WSGLScreenSpaceAmbientOcclusionCapability () override |
|
const CapabilityIdList & | dependencies () const override |
|
QString | getSource (QOpenGLShader::ShaderType type) const override |
|
UsageFlags | getUsageFlags () const override |
|
bool | onProgramActivate (WSGLShaderProgram &program, WSGLRenderer &renderer) override |
|
bool | onProgramDeactivate (WSGLShaderProgram &program, WSGLRenderer &renderer) override |
|
WSGLScreenSpaceAmbientOcclusionCapability & | operator= (const WSGLScreenSpaceAmbientOcclusionCapability &rhs) |
|
bool | postProgramLink (WSGLShaderProgram &program) override |
|
bool | postRenderModel (WSGLShaderProgram &program, WSGLRenderer &renderer, WSGLRenderItem &item) override |
|
bool | preRenderGlyph (WSGLShaderProgram &program, WSGLRenderer &renderer, WSGLInstancedItem &item, int instanceNumber) override |
|
bool | preRenderModel (WSGLShaderProgram &program, WSGLRenderer &renderer, WSGLRenderItem &item) override |
|
const WSGLShaderProgramCapabilityId & | capabilityId () const override |
|
virtual | ~WSGLShaderProgramCapability () |
|
virtual const WSGLShaderProgramCapabilityId & | capabilityId () const =0 |
|
virtual const CapabilityIdList & | dependencies () const =0 |
|
virtual QString | getSource (QOpenGLShader::ShaderType type) const =0 |
|
virtual UsageFlags | getUsageFlags () const =0 |
|
virtual bool | onProgramActivate (WSGLShaderProgram &program, WSGLRenderer &renderer)=0 |
|
virtual bool | onProgramDeactivate (WSGLShaderProgram &program, WSGLRenderer &renderer)=0 |
|
WSGLShaderProgramCapability & | operator= (const WSGLShaderProgramCapability &) |
|
virtual bool | postProgramLink (WSGLShaderProgram &program)=0 |
|
virtual bool | postRenderModel (WSGLShaderProgram &program, WSGLRenderer &renderer, WSGLRenderItem &item)=0 |
|
virtual bool | preRenderGlyph (WSGLShaderProgram &program, WSGLRenderer &renderer, WSGLInstancedItem &item, int instanceNumber)=0 |
|
virtual bool | preRenderModel (WSGLShaderProgram &program, WSGLRenderer &renderer, WSGLRenderItem &item)=0 |
|
◆ WSGLScreenSpaceAmbientOcclusionCapability() [1/2]
◆ WSGLScreenSpaceAmbientOcclusionCapability() [2/2]
◆ ~WSGLScreenSpaceAmbientOcclusionCapability()
◆ capabilityName()
static const QString & capabilityName |
( |
| ) |
|
|
inlinestatic |
◆ dependencies()
- Returns
- A list of the capabilities that this capability depends on. An error will occur if these capabilities are not also added to a shader program which has this capability added to it.
Implements WSGLShaderProgramCapability.
◆ getSource()
QString getSource |
( |
QOpenGLShader::ShaderType |
type | ) |
const |
|
overridevirtual |
- Returns
- The source code of the capability.
- Parameters
-
type | The type of shader. Note: This capability only has fragment shader source code. |
Implements WSGLShaderProgramCapability.
◆ getUsageFlags()
◆ onProgramActivate()
When the program activates, set the global 'enabled' uniforms.
- Precondition
- The shader prorgam has been compiled and linked.
Implements WSGLShaderProgramCapability.
◆ onProgramDeactivate()
Invoked when the program is deactivated. The WSGLShaderProgram is assumed to be bound. Use this function to clean up any GL state that is common to all items rendered.
- Parameters
-
program | The program which is being deactivated. |
renderer | The renderer that the program is being deactivated on. |
- Returns
- true if the deactivation was successful, false if errors occurred.
- See also
- onProgramActivate
-
preRenderModel
-
postRenderModel
Implements WSGLShaderProgramCapability.
◆ operator=()
◆ postProgramLink()
◆ postRenderModel()
Invoked immediately following the rendering of a WSGLRenderItem (i.e. immediately after a call to glDrawElements or glDrawRangeElements). Use this function to clean up any GL state that changes on a per-item basis. The program is assumed to be bound.
- Parameters
-
program | The program which is rendering the item. |
renderer | The renderer which the program has just used to render the item. |
item | The render item just drawn. |
- Returns
- true if the postRenderModel process was successful, false if errors occurred.
- See also
- preRenderModel
-
onProgramActivate
-
onProgramDeactivate
Implements WSGLShaderProgramCapability.
◆ preRenderGlyph()
Invoked immediately prior to the rendering of an individual glyph instance (i.e. immediately before a call to glDrawElements or glDrawRangeElements). Use this function to set up any GL state that changes on a per-glyph basis. The program is assumed to be bound.
- Note
- This function will only be called if the render item is glyphed. For normal rendering, see preRenderModel
- Parameters
-
program | The program which is rendering the item. |
renderer | The renderer which the program has just used to render the item. |
item | The instanced item we're going to use to render an instance. |
instanceNumber | The instance number of the glyph. |
- Returns
- true if the preRenderModel process was successful, false if errors occurred.
- See also
- preRenderModel
-
postRenderGlyph
Implements WSGLShaderProgramCapability.
◆ preRenderModel()
Invoked immediately prior to the rendering of a WSGLRenderItem (i.e. immediately before a call to glDrawElements or glDrawRangeElements). Use this function to set up any GL state that changes on a per-item basis. The program is assumed to be bound.
- Parameters
-
program | The program which is rendering the item. |
renderer | The renderer which the program is about to use to render the item. |
item | The render item about to be drawn. |
- Returns
- true if the preRenderModel process was successful, false if errors occurred.
- See also
- postRenderModel
-
onProgramActivate
-
onProgramDeactivate
Implements WSGLShaderProgramCapability.