batch rendering

This commit is contained in:
Erris
2026-02-03 19:27:34 +01:00
parent 01a8f03451
commit 60bf9550cd
14 changed files with 160 additions and 52 deletions

View File

@@ -25,6 +25,7 @@ namespace OpenEngine {
// utility uniform functions
void UploadBool(const std::string &name, bool value) const;
void UploadInt(const std::string &name, int value) const;
void UploadIntArray(const std::string &name, int* values, uint32_t count) const;
void UploadFloat(const std::string &name, float value) const;
void UploadMat4(const std::string &name, const glm::mat4& value) const;
void UploadVec2(const std::string &name, const glm::vec2& value) const;
@@ -33,6 +34,7 @@ namespace OpenEngine {
virtual void SetBool(const std::string &name, bool value) const override;
virtual void SetInt(const std::string &name, int value) const override;
virtual void SetIntArray(const std::string &name, int* values, uint32_t count) const override;
virtual void SetFloat(const std::string &name, float value) const override;
virtual void SetMat4(const std::string &name, const glm::mat4& value) const override;
virtual void SetVec2(const std::string &name, const glm::vec2& value) const override;

View File

@@ -15,10 +15,12 @@ namespace OpenEngine {
virtual uint32_t GetWidth() const override { return width; };
virtual uint32_t GetHeight() const override { return height; };
virtual uint32_t GetID() const override { return id; };
virtual void Bind(uint32_t slot = 0) const override;
virtual void SetData(void* data, uint32_t size) override;
virtual bool operator==(const Texture& other) const override;
private:
std::string path;

View File

@@ -21,6 +21,7 @@ namespace OpenEngine {
virtual void SetBool(const std::string &name, bool value) const = 0;
virtual void SetInt(const std::string &name, int value) const = 0;
virtual void SetIntArray(const std::string &name, int* values, uint32_t count) const = 0;
virtual void SetFloat(const std::string &name, float value) const = 0;
virtual void SetMat4(const std::string &name, const glm::mat4& value) const = 0;
virtual void SetVec2(const std::string &name, const glm::vec2& value) const = 0;

View File

@@ -5,6 +5,7 @@
#include <cstdint>
namespace OpenEngine {
class Texture
{
@@ -13,10 +14,12 @@ namespace OpenEngine {
virtual uint32_t GetWidth() const = 0;
virtual uint32_t GetHeight() const = 0;
virtual uint32_t GetID() const = 0;
virtual void Bind(uint32_t slot = 0) const = 0;
virtual void SetData(void* data, uint32_t size) = 0;
virtual bool operator==(const Texture& other) const = 0;
};
class Texture2D : public Texture
@@ -25,6 +28,7 @@ namespace OpenEngine {
static Ref<Texture2D> Create(uint32_t width, uint32_t height);
static Ref<Texture2D> Create(const std::string& path);
};
}
#endif // TEXTURE_HPP