Files
mcpe/source/Renderer/DynamicTexture.hpp
iProgramInCpp 9642818a88 * Initial commit.
:)
2023-07-30 22:22:02 +03:00

60 lines
1.1 KiB
C++

#pragma once
#include "Textures.hpp"
class Textures; // in case we are being included from Textures. We don't need a complete type
// Essentially, the way these work is by patching themselves into terrain.png with a
// call to glTexSubImage2D
class DynamicTexture
{
public:
virtual void tick() = 0;
virtual void bindTexture(Textures*);
DynamicTexture(int a2);
virtual ~DynamicTexture();
protected:
int m_textureIndex = 0;
int m_textureSize = 1;
uint8_t m_pixels[1024];
friend class Textures;
};
class WaterTexture : public DynamicTexture
{
public:
WaterTexture();
~WaterTexture();
void tick() override;
public:
int field_40C = 0;
int field_410 = 0;
float* m_data1 = nullptr;
float* m_data2 = nullptr;
float* m_data3 = nullptr;
float* m_data4 = nullptr;
};
class WaterSideTexture : public DynamicTexture
{
public:
WaterSideTexture();
~WaterSideTexture();
void tick() override;
public:
int field_40C = 0;
int field_410 = 0;
int field_414 = 0;
float* m_data1 = nullptr;
float* m_data2 = nullptr;
float* m_data3 = nullptr;
float* m_data4 = nullptr;
};