Aether3D
Game Engine
Aether3D.hpp
Go to the documentation of this file.
1 #ifndef AETHER3D_H
2 #define AETHER3D_H
3 
67 #ifndef INCLUDE_STRING_H
68 # include <string>
69 # define INCLUDE_STRING_H
70 #endif
71 #ifndef INCLUDE_MEMORY_H
72 # include <memory>
73 # define INCLUDE_MEMORY_H
74 #endif
75 #ifndef AUDIO_H
76 # include "Audio.hpp"
77 #endif
78 #ifndef CAMERA_H
79 # include "Camera.hpp"
80 #endif
81 #ifndef KEYBOARD_INPUT_H
82 # include "KeyboardInput.hpp"
83 #endif
84 #ifndef LIGHT_H
85 # include "Light.hpp"
86 #endif
87 #ifndef MOUSE_INPUT_H
88 # include "MouseInput.hpp"
89 #endif
90 #ifndef MATERIAL_H
91 # include "Material.hpp"
92 #endif
93 #ifndef MODEL_H
94 # include "Model.hpp"
95 #endif
96 #ifndef QUATERNION_H
97 # include "Quaternion.hpp"
98 #endif
99 #ifndef RENDERER_H
100 # include "Renderer.hpp"
101 #endif
102 #ifndef SCENE_H
103 # include "Scene.hpp"
104 #endif
105 #ifndef TEXTURE_H
106 # include "Texture.hpp"
107 #endif
108 #ifndef INCLUDE_VEC3_H
109 # include "Vec3.hpp"
110 #endif
111 
114 {
115 public:
116  Aether3D_API();
117  virtual ~Aether3D_API();
118 
125  static const std::string& ReturnCodeToErrorString( int returnCode );
126 
137  Error::Enum LoadDLL( const std::string& path );
138 
140  Audio* MakeAudio();
141 
143  Camera* MakeCamera();
144 
147 
152  Light* MakeLight( Light::Type lightType );
153 
156 
159 
168  Model* MakeModel( const std::string& path, Error::Enum& outError );
169 
175  Renderer* MakeRenderer( const std::string& builtinAssetPath );
176 
178  Scene* MakeScene();
179 
191  Texture* MakeTexture( const std::string& path, bool useMipmaps, bool sRGB, Texture::Tiling tiling, Texture::Filter filter );
192 
206  Texture* MakeTexture( const char* left, const char* right,
207  const char* top, const char* bottom,
208  const char* front, const char* back );
217  Texture* MakeRenderTexture( int width, int height );
218 
226  Texture* MakeRenderTextureCube( int size );
227 
237  Texture* MakeTexture( const std::string& atlasPath, const std::string& atlasMetadataPath, const std::string& fileName );
238 
239 private:
240  struct Impl;
241  std::unique_ptr< Impl > m;
242 };
243 
244 #endif
Aether3D_API::MakeCamera
Camera * MakeCamera()
Definition: Aether3D.cpp:236
Scene
Stores scene in a scene graph.
Definition: Scene.hpp:28
Camera
Perspective or orthographic camera.
Definition: Camera.hpp:12
Aether3D_API::MakeRenderer
Renderer * MakeRenderer(const std::string &builtinAssetPath)
Definition: Aether3D.cpp:272
MouseInput
Reads mouse.
Definition: MouseInput.hpp:18
Texture::Filter
Filter
Filter.
Definition: Texture.hpp:11
Material
Stores material properties for Mesh. Their names/values are directly mapped into shader uniforms.
Definition: Material.hpp:19
Aether3D_API::MakeKeyboardInput
KeyboardInput * MakeKeyboardInput()
Definition: Aether3D.cpp:242
Texture
2D or Cube Map texture.
Definition: Texture.hpp:7
Aether3D_API::MakeModel
Model * MakeModel(const std::string &path, Error::Enum &outError)
Definition: Aether3D.cpp:266
Aether3D_API::MakeScene
Scene * MakeScene()
Definition: Aether3D.cpp:279
Light
Light.
Definition: Light.hpp:11
Aether3D_API::MakeAudio
Audio * MakeAudio()
Definition: Aether3D.cpp:230
Aether3D_API
Handles DLL loading and engine object creation.
Definition: Aether3D.hpp:113
Aether3D_API::MakeMouseInput
MouseInput * MakeMouseInput()
Definition: Aether3D.cpp:260
Aether3D_API::MakeTexture
Texture * MakeTexture(const std::string &path, bool useMipmaps, bool sRGB, Texture::Tiling tiling, Texture::Filter filter)
Definition: Aether3D.cpp:285
Aether3D_API::ReturnCodeToErrorString
static const std::string & ReturnCodeToErrorString(int returnCode)
Definition: Aether3D.cpp:317
Aether3D_API::MakeMaterial
Material * MakeMaterial()
Definition: Aether3D.cpp:254
Renderer
Renders models and UI.
Definition: Renderer.hpp:14
Audio
Handles audio.
Definition: Audio.hpp:5
Aether3D_API::MakeRenderTexture
Texture * MakeRenderTexture(int width, int height)
Definition: Aether3D.cpp:305
Model
Contains meshes loaded from Aether3D's own .ae3d file format.
Definition: Model.hpp:21
Aether3D_API::MakeLight
Light * MakeLight(Light::Type lightType)
Definition: Aether3D.cpp:248
KeyboardInput
Reads keyboard.
Definition: KeyboardInput.hpp:48
Aether3D_API::LoadDLL
Error::Enum LoadDLL(const std::string &path)
Definition: Aether3D.cpp:123
Aether3D_API::MakeRenderTextureCube
Texture * MakeRenderTextureCube(int size)
Definition: Aether3D.cpp:311
Texture::Tiling
Tiling
Tiling.
Definition: Texture.hpp:13
Light::Type
Type
Definition: Light.hpp:15