Blender  V3.3
Classes | Namespaces | Macros | Functions
texture_margin.cc File Reference
#include "BLI_assert.h"
#include "BLI_math_geom.h"
#include "BLI_math_vec_types.hh"
#include "BLI_math_vector.hh"
#include "BLI_vector.hh"
#include "BKE_DerivedMesh.h"
#include "BKE_customdata.h"
#include "BKE_mesh.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "MEM_guardedalloc.h"
#include "zbuf.h"
#include "RE_texture_margin.h"
#include <algorithm>
#include <cmath>
#include <valarray>

Go to the source code of this file.

Classes

class  blender::render::texturemargin::TextureMarginMap
 

Namespaces

 blender
 
 blender::render
 
 blender::render::texturemargin
 

Macros

#define PackDijkstraPixel(dist, dir)   (0x80000000 + ((dist) << 4) + (dir))
 
#define DijkstraPixelGetDistance(dp)   (((dp) ^ 0x80000000) >> 4)
 
#define DijkstraPixelGetDirection(dp)   ((dp)&0xF)
 
#define IsDijkstraPixel(dp)   ((dp)&0x80000000)
 
#define DijkstraPixelIsUnset(dp)   ((dp) == 0xFFFFFFFF)
 

Functions

static void blender::render::texturemargin::generate_margin (ImBuf *ibuf, char *mask, const int margin, const Mesh *me, DerivedMesh *dm, char const *uv_layer, const float uv_offset[2])
 
void RE_generate_texturemargin_adjacentfaces (ImBuf *ibuf, char *mask, const int margin, const Mesh *me, char const *uv_layer, const float uv_offset[2])
 
void RE_generate_texturemargin_adjacentfaces_dm (ImBuf *ibuf, char *mask, const int margin, DerivedMesh *dm, const float uv_offset[2])
 

Macro Definition Documentation

◆ DijkstraPixelGetDirection

#define DijkstraPixelGetDirection (   dp)    ((dp)&0xF)

Definition at line 140 of file texture_margin.cc.

◆ DijkstraPixelGetDistance

#define DijkstraPixelGetDistance (   dp)    (((dp) ^ 0x80000000) >> 4)

Definition at line 139 of file texture_margin.cc.

◆ DijkstraPixelIsUnset

#define DijkstraPixelIsUnset (   dp)    ((dp) == 0xFFFFFFFF)

Definition at line 142 of file texture_margin.cc.

◆ IsDijkstraPixel

#define IsDijkstraPixel (   dp)    ((dp)&0x80000000)

Definition at line 141 of file texture_margin.cc.

◆ PackDijkstraPixel

#define PackDijkstraPixel (   dist,
  dir 
)    (0x80000000 + ((dist) << 4) + (dir))

Definition at line 138 of file texture_margin.cc.

Function Documentation

◆ RE_generate_texturemargin_adjacentfaces()

void RE_generate_texturemargin_adjacentfaces ( ImBuf ibuf,
char *  mask,
const int  margin,
const Mesh me,
char const *  uv_layer,
const float  uv_offset[2] 
)

Definition at line 602 of file texture_margin.cc.

References blender::render::texturemargin::generate_margin(), and mask().

Referenced by RE_bake_margin().

◆ RE_generate_texturemargin_adjacentfaces_dm()

void RE_generate_texturemargin_adjacentfaces_dm ( ImBuf ibuf,
char *  mask,
const int  margin,
DerivedMesh dm,
const float  uv_offset[2] 
)

Definition at line 613 of file texture_margin.cc.

References blender::render::texturemargin::generate_margin(), and mask().

Referenced by bake_ibuf_filter().