batch rendering
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user