Symphony Of Empires
Eng3D Namespace Reference

Namespaces

 Deser
 
 Event
 
 GLSL
 
 Interface
 
 IO
 Implements the I/O functions for interacting with assets, please note that this is however outdated because <filesystem> now exists, but we are given more flexibility if we roll our own implementation to make a "mini Virtual-Filesystem".
 
 Locale
 
 Log
 
 Networking
 
 OpenGL
 
 Pathfind
 
 TrueType
 
 Zlib
 

Classes

class  AudioException
 
struct  Audio
 
class  AudioManager
 
class  BinaryImageException
 
struct  BinaryImage
 This binary image class helps load images and visual resources from the disk; the binary image IS NOT a texture, it is intended to be used in contextes which are NOT rendering - for rendering purpouses see texture class from client's implementation. More...
 
class  Borders
 
class  Camera
 
struct  Color
 Primitive color type used through the engine. More...
 
struct  Curve
 
class  FlatCamera
 
struct  Glyph
 
struct  Label3D
 
struct  FontSDF
 
struct  Freelist
 
class  LuaException
 
struct  LuaVM
 
class  BaseMap
 
struct  Material
 A definition for a surface/color/texture to be applied to a model. More...
 
class  MaterialManager
 
struct  MeshData
 
struct  MeshData< V, T, void >
 
struct  Mesh
 Packed model - packs both vertices and texcoords into the same buffer. More...
 
struct  MeshStatic
 A static mesh with fixed number of elements. More...
 
struct  SimpleModel
 A simple object - use these to store "simple" objects that MAY repeat. More...
 
struct  Model
 A complex object being composed by many simple objects. More...
 
class  ModelManager
 
class  OrbitCamera
 
struct  Line
 
struct  Quad
 
struct  Quad2D
 
struct  Square
 
struct  TriangleList
 
class  Sphere
 
class  BenchmarkTask
 
struct  Profiler
 
class  PythonException
 
class  PythonObj
 
class  PythonVM
 
class  Rand
 Thread safe random number generator. More...
 
struct  Rectangle
 
class  Rivers
 
class  ShaderException
 
class  Installer
 
class  State
 
struct  StringRef
 A reference to a string on the global string pool. More...
 
class  StringManager
 The string pool manager (singleton), used mainly for translation purpouses. But also helps to reduce the memory size of various objects. More...
 
class  TextureException
 
class  TextureOptions
 
class  Texture
 
class  TextureArray
 
struct  TextureMapHash
 Texture map has implementation. More...
 
class  TextureUploadRequest
 
class  TextureManager
 General manager for textures, caches textures into the memory instead of reading them off the disk every time they need to be accessed. More...
 
class  ValueChase
 

Typedefs

using Framebuffer = OpenGL::Framebuffer
 
typedef struct Rectangle Rect
 

Enumerations

enum class  MeshMode {
  TRIANGLE_FAN , TRIANGLE_STRIP , TRIANGLES , LINES ,
  LINE_STRIP
}
 

Functions

void draw (const Eng3D::OpenGL::VAO &vao, MeshMode mode, const void *indices, size_t n_indices, const void *buffer, size_t n_buffer, int instances)
 
void upload (const Eng3D::OpenGL::VAO &vao, const Eng3D::OpenGL::VBO &vbo, const Eng3D::OpenGL::EBO &ebo, const void *buffer, size_t n_buffer, size_t sz_buffer, size_t sz_buffer_vert, size_t sz_buffer_tex, size_t v_len, size_t t_len, size_t c_len, const void *indices, size_t n_indices, size_t sz_indices, bool has_color)
 
void instancing (const Eng3D::OpenGL::VAO &vao, const Eng3D::OpenGL::VBO &i_vbo, const void *buffer, size_t index_size, int instances)
 
Randget_local_generator ()
 
template<typename ... Args>
std::string string_format (const std::string_view format, Args &&... args)
 String formatter. More...
 
template<typename ... Args>
std::string translate_format (const std::string_view format, Args &&... args)
 String formatter, with translation. More...
 
template<class T >
void hash_combine (std::size_t &s, const T &v)
 
template<typename C , typename T >
void fast_erase (C &c, T value) noexcept
 
template<typename C , typename T >
void fast_erase_all (C &c, T value) noexcept
 
glm::vec3 get_sphere_coord (glm::vec2 size, glm::vec2 pos, float radius)
 
float euclidean_distance (glm::vec2 size, float radius, glm::vec2 p0, glm::vec2 p1)
 Obtain the euclidean distance from p0 to p1. More...
 

Variables

const TextureOptions default_options
 

Typedef Documentation

◆ Framebuffer

Definition at line 41 of file framebuffer.hpp.

◆ Rect

typedef struct Rectangle Eng3D::Rect

Definition at line 1 of file rectangle.hpp.

Enumeration Type Documentation

◆ MeshMode

enum Eng3D::MeshMode
strong
Enumerator
TRIANGLE_FAN 
TRIANGLE_STRIP 
TRIANGLES 
LINES 
LINE_STRIP 

Definition at line 81 of file mesh.hpp.

Function Documentation

◆ draw()

void Eng3D::draw ( const Eng3D::OpenGL::VAO vao,
MeshMode  mode,
const void *  indices,
size_t  n_indices,
const void *  buffer,
size_t  n_buffer,
int  instances 
)

Definition at line 136 of file mesh.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ euclidean_distance()

float Eng3D::euclidean_distance ( glm::vec2  size,
float  radius,
glm::vec2  p0,
glm::vec2  p1 
)
inline

Obtain the euclidean distance from p0 to p1.

Parameters
p0Point A
p1Point B

Definition at line 166 of file utils.hpp.

Here is the call graph for this function:

◆ fast_erase()

template<typename C , typename T >
void Eng3D::fast_erase ( C c,
value 
)
inlinenoexcept

Definition at line 128 of file utils.hpp.

Here is the caller graph for this function:

◆ fast_erase_all()

template<typename C , typename T >
void Eng3D::fast_erase_all ( C c,
value 
)
inlinenoexcept

Definition at line 140 of file utils.hpp.

◆ get_local_generator()

Rand& Eng3D::get_local_generator ( )
inline

Definition at line 98 of file rand.hpp.

◆ get_sphere_coord()

glm::vec3 Eng3D::get_sphere_coord ( glm::vec2  size,
glm::vec2  pos,
float  radius 
)
inline

Definition at line 149 of file utils.hpp.

Here is the caller graph for this function:

◆ hash_combine()

template<class T >
void Eng3D::hash_combine ( std::size_t &  s,
const T &  v 
)
inline

Definition at line 169 of file texture.hpp.

Here is the caller graph for this function:

◆ instancing()

void Eng3D::instancing ( const Eng3D::OpenGL::VAO vao,
const Eng3D::OpenGL::VBO i_vbo,
const void *  buffer,
size_t  index_size,
int  instances 
)

Definition at line 202 of file mesh.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ string_format()

template<typename ... Args>
std::string Eng3D::string_format ( const std::string_view  format,
Args &&...  args 
)

String formatter.

Template Parameters
ArgsFormatting argument type list
Parameters
formatC-formatting string
argsArguments for formatting
Returns
std::string The resulting formatted text

Definition at line 100 of file string.hpp.

Here is the caller graph for this function:

◆ translate_format()

template<typename ... Args>
std::string Eng3D::translate_format ( const std::string_view  format,
Args &&...  args 
)

String formatter, with translation.

Template Parameters
ArgsFormatting argument type list
Parameters
formatC-formatting string
argsArguments for formatting
Returns
std::string The resulting formatted text

Definition at line 128 of file string.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ upload()

void Eng3D::upload ( const Eng3D::OpenGL::VAO vao,
const Eng3D::OpenGL::VBO vbo,
const Eng3D::OpenGL::EBO ebo,
const void *  buffer,
size_t  n_buffer,
size_t  sz_buffer,
size_t  sz_buffer_vert,
size_t  sz_buffer_tex,
size_t  v_len,
size_t  t_len,
size_t  c_len,
const void *  indices,
size_t  n_indices,
size_t  sz_indices,
bool  has_color 
)

Definition at line 176 of file mesh.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ default_options

const TextureOptions Eng3D::default_options

Definition at line 101 of file texture.hpp.