Vertex

namespace marengine

Typedefs

typedef std::vector<Vertex> FVertexArray
typedef std::vector<uint32> FIndicesArray
typedef std::vector<maths::mat4> FTransformsArray
typedef std::vector<maths::vec4> FColorsArray

Enums

enum ERenderContextType

Values:

enumerator NONE
enumerator OPENGL
enumerator VULKAN
enum ERenderPipelineType

Values:

enumerator NONE
enumerator MESH_COLOR
enumerator MESH_TEXTURE2D
enum EBufferType

Values:

enumerator NONE
enumerator VERTEX
enumerator INDEX
enumerator SSBO
enumerator UBO
enum EInputType

Values:

enumerator NONE
enumerator FLOAT
enumerator INT
enumerator VEC4
enumerator VEC3
enumerator VEC2
enumerator MAT4
enumerator OTHER
enum EShaderStage

Values:

enumerator NONE
enumerator VERTEX
enumerator FRAGMENT
enumerator TESS_EVAL
enumerator TESS_CONTROL
enumerator COMPUTE
enumerator GEOMETRY

Variables

constexpr uint32 g_MeshStride = {3 + 3 + 2 + 1}
class FRenderContext : public IRenderContext

Subclassed by FRenderContextOpenGL

class IRender

Subclassed by IRenderCommand, IRenderContext, IRenderFactory, IRenderManager, IRenderResource, IRenderStorage

class IRenderCommand : public IRender

Subclassed by FRenderCommand

class IRenderContext : public IRender

Subclassed by FRenderContext

Public Functions

bool create(FWindow *pWindow) = 0
void close() = 0
void prepareFrame() = 0
void endFrame() = 0
FBufferStorage *getBufferStorage() const = 0
FShadersStorage *getShadersStorage() const = 0
FPipelineStorage *getPipelineStorage() const = 0
FFramebufferStorage *getFramebufferStorage() const = 0
FMaterialStorage *getMaterialStorage() const = 0
FBufferFactory *getBufferFactory() const = 0
FShadersFactory *getShadersFactory() const = 0
FPipelineFactory *getPipelineFactory() const = 0
FFramebufferFactory *getFramebufferFactory() const = 0
FMaterialFactory *getMaterialFactory() const = 0
ERenderContextType getType() const = 0
class IRenderFactory : public IRender

Subclassed by IRenderResourceFactory

class IRenderManager : public IRender

Subclassed by FRenderManager, IRenderResourceManager

class IRenderStorage : public IRender

Subclassed by IRenderResourceStorage

struct Vertex

Structure defining Vertex in MAREngine. Contains position (3 floats), lightNormal (3 floats), textureCoordinates (2 floats) and shapeID (1 float).

Public Members

maths::vec3 position
maths::vec3 lightNormal
maths::vec2 textureCoordinates
float shapeID = {0.f}
namespace GraphicLimits

Variables

constexpr uint32 maxTrianglesCount = {100000}
constexpr uint32 maxVerticesCount = {maxTrianglesCount * 3}
constexpr uint32 maxIndicesCount = {maxTrianglesCount * 3}
constexpr int64 sizeOfVertices = {maxVerticesCount * sizeof(Vertex)}
constexpr int64 sizeOfIndices = {maxIndicesCount * sizeof(uint32_t)}
constexpr uint32 maxTransforms = {32}
constexpr uint32 maxLights = {32}