Blender V4.3
interp.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#include "BLI_math_vector.h"
11#include "IMB_interp.hh"
12
13void IMB_sampleImageAtLocation(ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4])
14{
15 using namespace blender;
16 if (ibuf->float_buffer.data) {
17 imbuf::interpolate_nearest_border_fl(ibuf, color, x, y);
18 }
19 else {
20 uchar4 byte_color = imbuf::interpolate_nearest_border_byte(ibuf, x, y);
21 rgba_uchar_to_float(color, byte_color);
22 if (make_linear_rgb) {
24 color, false, ibuf->byte_buffer.colorspace);
25 }
26 }
27}
void rgba_uchar_to_float(float r_col[4], const unsigned char col_ub[4])
void IMB_colormanagement_colorspace_to_scene_linear_v4(float pixel[4], bool predivide, ColorSpace *colorspace)
void IMB_sampleImageAtLocation(ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4])
Definition interp.cc:13
ColorSpace * colorspace
ImBufFloatBuffer float_buffer
ImBufByteBuffer byte_buffer