15#include "../Material.h"
16#include "../../../Utils/Math/Vector2D.h"
17#include "../../../Utils/Math/Mathematics.h"
Represents an image-based material with support for transformations and palette adjustments.
void SetColorPalette(const uint8_t *rgbColors)
Sets the color palette.
unsigned int xPixels
The width of the image in pixels.
void SetPosition(Vector2D offset)
Sets the position offset of the image.
const uint8_t * data
Pointer to the image data.
float hueAngle
The hue adjustment angle of the image.
~Image()
Destructor for Image.
unsigned int yPixels
The height of the image in pixels.
RGBColor GetRGB(const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
Calculates the RGB color at a specific position.
const uint8_t * rgbColors
Pointer to the color palette.
void SetSize(Vector2D size)
Sets the size of the image.
void SetData(const uint8_t *data)
Sets the image data.
Vector2D offset
The offset position of the image.
float angle
The rotation angle of the image in degrees.
uint8_t colors
The number of colors in the palette.
void SetRotation(float angle)
Sets the rotation angle of the image.
void SetHueAngle(float hueAngle)
Sets the hue adjustment angle of the image.
Vector2D size
The size of the image.
Abstract base class for rendering materials.
Represents an RGB color and provides methods for manipulation.
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.