Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
renderable.h
1#ifndef OE_SCENE_NODE_RENDERABLE_H
2#define OE_SCENE_NODE_RENDERABLE_H
3
4#include "../node.h"
5
6#ifndef OXYGEN_ENGINE_HEADLESS
7namespace oe::render
8{
9 class Node;
10}
11#endif
12
13namespace oe::scene
14{
15 class RenderableNode : public Node
16 {
17 public:
19
20 #ifndef OXYGEN_ENGINE_HEADLESS
21 virtual std::unique_ptr<oe::render::Node> generateRenderNode();
22 #endif
23
24 Material& generateMaterial();
25
26 Material& getMaterial(size_t id = 0) { return _materials.at(id); }
27
28 std::vector<Material>& getAllMaterials() { return _materials; }
29
30 protected:
31 std::vector<Material> _materials;
32
33 };
34}
35
36#endif
Render agnostic material.
Definition material.h:26
Definition node.h:31
Definition renderable.h:16
Render related abstractions (Shader, Framebuffer, Cubemaps, Textures)
Definition opengl.h:10
Scene related management (Render-agnostic Geometry, Manger, etc...)
Definition debug.h:19