Program Listing for File mesh.h

Return to documentation for file (rootex/core/renderer/mesh.h)

#pragma once

#include "common/types.h"

#define MAX_LOD_COUNT 5

class VertexBuffer;
class IndexBuffer;

struct Mesh
{
    Ref<VertexBuffer> m_VertexBuffer;
    BoundingBox m_BoundingBox;

    Vector<Pair<Ref<IndexBuffer>, float>> m_LODs;

    Mesh() = default;
    Mesh(const Mesh&) = default;
    ~Mesh() = default;

    void addLOD(Ref<IndexBuffer> ib, float lodLevel);

    Ref<IndexBuffer> getLOD(float lodLevel) const;
    Ref<VertexBuffer> getVertexBuffer() { return m_VertexBuffer; };
    const BoundingBox& getBoundingBox() { return m_BoundingBox; };
};