Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
Cube.h
Go to the documentation of this file.
1#pragma once
2#include <qcolor.h>
3#include <xgl/TVertexArray.h>
4#include <xgl/global.h>
5
6namespace sf::xgl
7{
8
13class _XGL_CLASS Cube final
14 : public TVertexArray<VertexArrayBase::vmPosition | VertexArrayBase::vmNormal | VertexArrayBase::vmColor | VertexArrayBase::vmTexCoord>
15{
16 public:
21 {
23 float size{0};
25 std::array<QColor, 6> colors{};
27 std::unique_ptr<QOpenGLTexture> texture{nullptr};
28 } parameters;
29
33 explicit Cube(ShaderProgram* sp);
34
38 ~Cube() override;
39
40 protected:
44 void generate() override;
45};
46
47}// namespace sf::xgl
Cube(ShaderProgram *sp)
Qt constructor only accepting a shader program.
void generate() override
Overridden from base class.
~Cube() override
Overridden from base class to delete a texture before the context is gone.
Shader program having a default vertex and fragment shader.
Definition ShaderProgram.h:13
Definition DemoRenderer.h:6
Parameters for generating the data.
Definition Cube.h:21
std::unique_ptr< QOpenGLTexture > texture
Definition Cube.h:27
float size
Definition Cube.h:23
std::array< QColor, 6 > colors
Definition Cube.h:25
#define _XGL_CLASS
Definition xgl/global.h:35