14#ifndef IGRAPHIC3_MODULE_HPP
15#define IGRAPHIC3_MODULE_HPP
40 static constexpr const char *
entry =
"getGraphic3Module";
46 static constexpr const char *
contract =
"graphic3";
49 static constexpr const char *
accepts[] = {
"graphic3",
nullptr};
A vendor's 2D factory : window, input, loaded resources and the objects that reference them....
Definition IGraphic2Module.hpp:37
A vendor's 3D factory. Extends IGraphic2Module : implementing it means implementing all of the 2D too...
Definition IGraphic3Module.hpp:36
virtual void deleteModel(graphic::IModel *model)=0
virtual void deleteMesh(graphic::IMesh *mesh)=0
virtual void deleteAnimationSet(graphic::IAnimationSet *animations)=0
virtual void deleteCamera(graphic::ICamera *)=0
static constexpr const char * accepts[]
Rien d'autre ne fait de la 3D : je ne m'accepte que moi.
Definition IGraphic3Module.hpp:49
virtual graphic::IAnimationSet * createAnimationSet(std::string path)=0
virtual graphic::ICamera * createCamera(Vector3f position, Vector3f target, float fov)=0
virtual graphic::IModel * createModel(graphic::IMesh *mesh)=0
virtual ~IGraphic3Module()=default
virtual graphic::IMesh * createMesh(std::string path)=0
static constexpr const char * contract
Definition IGraphic3Module.hpp:46
static constexpr const char * entry
Symbol the loader looks up : present = this vendor can draw 3D.
Definition IGraphic3Module.hpp:40
virtual graphic::IWindow3 * createWindow(int32_t screenWidth, int32_t screenHeight, std::string title)=0
A file's loaded animation clips, independent of any IModel bound to it - deleting every bound IModel ...
Definition IAnimationSet.hpp:26
Camera interface.
Definition ICamera.hpp:23
Loaded geometry (vertices/faces), independent of any IModel instance built from it - deleting every I...
Definition IMesh.hpp:24
Model interface.
Definition IModel.hpp:27
A window that can also draw 3D. Extends IWindow2, so anything that only needs 2D can keep using it as...
Definition IWindow3.hpp:25