Blender  V3.3
Classes | Namespaces | Functions
sculpt_paint_image.cc File Reference
#include "DNA_image_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "ED_paint.h"
#include "ED_uvedit.h"
#include "BLI_math.h"
#include "BLI_math_color_blend.h"
#include "BLI_task.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "BKE_brush.h"
#include "BKE_image_wrappers.hh"
#include "BKE_material.h"
#include "BKE_pbvh.h"
#include "BKE_pbvh_pixels.hh"
#include "bmesh.h"
#include "NOD_shader.h"
#include "sculpt_intern.h"

Go to the source code of this file.

Classes

struct  blender::ed::sculpt_paint::paint::image::ImageData
 
struct  blender::ed::sculpt_paint::paint::image::TexturePaintingUserData
 
class  blender::ed::sculpt_paint::paint::image::ImageBufferFloat4
 
class  blender::ed::sculpt_paint::paint::image::ImageBufferByte4
 
class  blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >
 

Namespaces

 blender
 
 blender::ed
 
 blender::ed::sculpt_paint
 
 blender::ed::sculpt_paint::paint
 
 blender::ed::sculpt_paint::paint::image
 

Functions

static std::vector< boolblender::ed::sculpt_paint::paint::image::init_triangle_brush_test (SculptSession *ss, Triangles &triangles, const MVert *mvert)
 
static void blender::ed::sculpt_paint::paint::image::do_paint_pixels (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict tls)
 
static void blender::ed::sculpt_paint::paint::image::undo_region_tiles (ImBuf *ibuf, int x, int y, int w, int h, int *tx, int *ty, int *tw, int *th)
 
static void blender::ed::sculpt_paint::paint::image::push_undo (const NodeData &node_data, Image &image, ImageUser &image_user, const image::ImageTileWrapper &image_tile, ImBuf &image_buffer, ImBuf **tmpibuf)
 
static void blender::ed::sculpt_paint::paint::image::do_push_undo_tile (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict UNUSED(tls))
 
static void blender::ed::sculpt_paint::paint::image::do_mark_dirty_regions (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict UNUSED(tls))
 
bool SCULPT_paint_image_canvas_get (PaintModeSettings *paint_mode_settings, Object *ob, Image **r_image, ImageUser **r_image_user)
 Get the image canvas for painting on the given object. More...
 
bool SCULPT_use_image_paint_brush (PaintModeSettings *settings, Object *ob)
 
void SCULPT_do_paint_brush_image (PaintModeSettings *paint_mode_settings, Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
 

Function Documentation

◆ SCULPT_do_paint_brush_image()

void SCULPT_do_paint_brush_image ( PaintModeSettings paint_mode_settings,
Sculpt sd,
Object ob,
PBVHNode **  nodes,
int  totnode 
)

◆ SCULPT_paint_image_canvas_get()

bool SCULPT_paint_image_canvas_get ( struct PaintModeSettings paint_mode_settings,
struct Object ob,
struct Image **  r_image,
struct ImageUser **  r_image_user 
)

Get the image canvas for painting on the given object.

Returns
#true if an image is found. The #r_image and #r_image_user fields are filled with the image and image user. Returns false when the image isn't found. In the later case the r_image and r_image_user are set to NULL.

Definition at line 458 of file sculpt_paint_image.cc.

References blender::ed::sculpt_paint::paint::image::ImageData::image, blender::ed::sculpt_paint::paint::image::ImageData::image_user, and blender::ed::sculpt_paint::paint::image::ImageData::init_active_image().

Referenced by sculpt_needs_pbvh_pixels(), and sculpt_pbvh_update_pixels().

◆ SCULPT_use_image_paint_brush()

bool SCULPT_use_image_paint_brush ( PaintModeSettings settings,
Object ob 
)