42 return (tile_number - 1001) % 10;
48 return (tile_number - 1001) / 10;
61 if constexpr ((std::is_same_v<T, float4>)) {
62 int offset = (coordinate.y *
image_buffer.x + coordinate.x) * Channels;
65 if constexpr ((std::is_same_v<T, int>)) {
66 int offset = (coordinate.y *
image_buffer.x + coordinate.x) * Channels;
70 static_cast<uchar *
>(
static_cast<void *
>(&
image_buffer.byte_buffer.data[offset])));
78 if constexpr ((std::is_same_v<T, float>)) {
79 int offset = (coordinate.y *
image_buffer.x + coordinate.x) * Channels;
82 if constexpr ((std::is_same_v<T, int>)) {
83 int offset = (coordinate.y *
image_buffer.x + coordinate.x) * Channels;
85 static_cast<uchar *
>(
static_cast<void *
>(&
image_buffer.byte_buffer.data[offset])),
MINLINE void rgba_float_to_uchar(unsigned char r_col[4], const float col_f[4])
MINLINE void rgba_uchar_to_float(float r_col[4], const unsigned char col_ub[4])
MINLINE void copy_v4_v4(float r[4], const float a[4])
constexpr bool is_same_any_v
VecBase< float, 4 > float4
VecBase< int32_t, 2 > int2
void write_pixel(const int2 coordinate, float4 new_value)
ImageBufferAccessor(ImBuf &image_buffer)
float4 read_pixel(const int2 coordinate)
ImageTileWrapper(ImageTile *image_tile)
int get_tile_y_offset() const
int get_tile_x_offset() const
TileNumber get_tile_number() const
int2 get_tile_offset() const