module grape.scene; //import std.variant; import derelict.opengl3.gl3; import grape.mesh; class Scene { //alias ActorType = Algebraic!(Camera, Mesh, Light); //alias ActorType = Algebraic!(Mesh); public: this() { // Basic, Fog, LensFlare } //void add(T)(T actor) { void add(Mesh mesh) { _meshes ~= mesh; //_actors ~= ActorType(actor); } void remove() { } @property { Mesh[] meshes() { return _meshes; } } private: //ActorType[] _actors; Mesh[] _meshes; }