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
Class to render a cube with 6 different colored faces and normals for reflection. Center of the cube ...
Definition Cube.h:15
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
OpenGL base class and wrapper template for vertex arrays. Automates most of the things needed for pri...
Definition TVertexArray.h:20
Definition DemoRenderer.h:6
Parameters for generating the data.
Definition Cube.h:21
#define _XGL_CLASS
Definition xgl/global.h:35