/* * Copyright (c) 2021, Jesse Buhagiar * Copyright (c) 2021, Mathieu Gaillard * Copyright (c) 2021, Pedro Pereira * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include "Common.h" class Mesh : public RefCounted { public: Mesh() = delete; Mesh(Vector vertices, Vector tex_coords, Vector normals, Vector triangles); size_t vertex_count() const { return m_vertex_list.size(); } size_t triangle_count() const { return m_triangle_list.size(); } void draw(float uv_scale); bool is_textured() const { return m_tex_coords.size() > 0; } private: Vector m_vertex_list; Vector m_tex_coords; Vector m_normal_list; Vector m_triangle_list; };