From 8563b424e9504970c9cd64b87753cbd89ebc356d Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 16 Oct 2025 14:05:04 +0200 Subject: [PATCH] feat: friend class with renderer + accept render count --- include/renderer/wavefront.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/renderer/wavefront.h b/include/renderer/wavefront.h index e5deb34..2ee0081 100644 --- a/include/renderer/wavefront.h +++ b/include/renderer/wavefront.h @@ -8,6 +8,7 @@ #include #include "shader.h" +#include "renderer/renderer.h" #include "renderer/material.h" #include "renderer/mesh.h" @@ -15,6 +16,7 @@ enum ObjElement { OHASH, MTLLIB, USEMTL, O, V, VN, VT, F, OUNKNOWN }; enum MtlElement { MHASH, NEWMTL, NS, KA, KS, KD, NI, D, ILLUM, MAP_KD, MAP_KA, MUNKNOWN }; class Object { + friend class Renderer; private: static inline int NormalizeIndex(int idx, int baseCount); @@ -34,8 +36,10 @@ private: Mesh& GetLastMesh(); void CreateNewMesh(const std::string& materialName); public: - void Render(Shader& shader); + void Render(Shader& shader, unsigned int count); [[nodiscard]] inline const std::string Name() const { return m_name; } +protected: + void EnableBatch(unsigned int instanceVBO); private: std::string m_name; std::vector m_vertices;