Pure virtual class to implement rendering separated from the widget and makes the sf::OpenGLWidget the placeholder.
More...
#include <OpenGLRenderer.h>
|
| OpenGLRenderer (OpenGLWidget *widget, QOpenGLShaderProgram *sp) |
| Constructor passing the widget which has the OpenGL context. The owner is the shader program object.
|
|
| ~OpenGLRenderer () override=default |
| Virtual destructor.
|
|
bool | setup () |
| Call overridden method generate() after the shader program has been linked.
|
|
void | render () |
| Call overridden method render() after the shader program has been linked.
|
|
OpenGLWidget * | getWidget () const |
| Gets the owning widget which is calling the shots.
|
|
QOpenGLShaderProgram * | getShaderProgram () |
| Gets shader program given in the constructor.
|
|
virtual void | changedProperty ()=0 |
| Called by sf::OpenGLWidget when a property has changed.
|
|
virtual void | addRenderObject (OpenGLRenderObject *ro, bool append=true) |
| Adds an object to be rendered. The order of addition determines the outcome when transparency is involved. When an object is destroyed, it is removed from the list using the 'destroyed' signal.
|
|
virtual void | setIndexValue (int index, QVariant value)=0 |
| Sets an arbitrary value on the derived- or subclass.
|
|
|
virtual void | generate ()=0 |
| Called by setup() and (re-)generates the vertices for the drawn 3D-objects.
|
|
virtual void | paint ()=0 |
| Called by from the render() method.
|
|
virtual void | draw ()=0 |
| Called by from the render() method.
|
|
Pure virtual class to implement rendering separated from the widget and makes the sf::OpenGLWidget the placeholder.
◆ OpenGLRenderer()
sf::OpenGLRenderer::OpenGLRenderer |
( |
OpenGLWidget * |
widget, |
|
|
QOpenGLShaderProgram * |
sp |
|
) |
| |
|
explicit |
Constructor passing the widget which has the OpenGL context. The owner is the shader program object.
◆ ~OpenGLRenderer()
sf::OpenGLRenderer::~OpenGLRenderer |
( |
| ) |
|
|
overridedefault |
◆ addRenderObject()
virtual void sf::OpenGLRenderer::addRenderObject |
( |
OpenGLRenderObject * |
ro, |
|
|
bool |
append = true |
|
) |
| |
|
virtual |
Adds an object to be rendered. The order of addition determines the outcome when transparency is involved. When an object is destroyed, it is removed from the list using the 'destroyed' signal.
- Parameters
-
ro | Object to render. |
append | Appends when true and prepends when false. |
◆ changedProperty()
virtual void sf::OpenGLRenderer::changedProperty |
( |
| ) |
|
|
pure virtual |
◆ draw()
virtual void sf::OpenGLRenderer::draw |
( |
| ) |
|
|
protectedpure virtual |
◆ generate()
virtual void sf::OpenGLRenderer::generate |
( |
| ) |
|
|
protectedpure virtual |
◆ getShaderProgram()
QOpenGLShaderProgram * sf::OpenGLRenderer::getShaderProgram |
( |
| ) |
|
Gets shader program given in the constructor.
◆ getWidget()
Gets the owning widget which is calling the shots.
◆ initialize()
static void sf::OpenGLRenderer::initialize |
( |
OpenGLWidget * |
widget | ) |
|
|
static |
◆ paint()
virtual void sf::OpenGLRenderer::paint |
( |
| ) |
|
|
protectedpure virtual |
◆ render()
void sf::OpenGLRenderer::render |
( |
| ) |
|
Call overridden method render() after the shader program has been linked.
◆ setIndexValue()
virtual void sf::OpenGLRenderer::setIndexValue |
( |
int |
index, |
|
|
QVariant |
value |
|
) |
| |
|
pure virtual |
◆ setup()
bool sf::OpenGLRenderer::setup |
( |
| ) |
|
Call overridden method generate() after the shader program has been linked.
◆ _cameraMatrix
const QMatrix4x4& sf::OpenGLRenderer::_cameraMatrix |
|
protected |
◆ _lightDirectionMatrix
const QMatrix4x4& sf::OpenGLRenderer::_lightDirectionMatrix |
|
protected |
Easy of access reference to the light direction matrix from the sf::OpenGLWidget.
◆ _lightPositionMatrix
const QMatrix4x4& sf::OpenGLRenderer::_lightPositionMatrix |
|
protected |
Easy of access reference to the light position matrix from the sf::OpenGLWidget.
◆ _modelMatrix
const QMatrix4x4& sf::OpenGLRenderer::_modelMatrix |
|
protected |
◆ _projectionMatrix
const QMatrix4x4& sf::OpenGLRenderer::_projectionMatrix |
|
protected |
Easy of access reference to the projection matrix from the widget.
◆ _renderObjects
Holds the list of objects to render.
The documentation for this class was generated from the following file: