Blender V4.3
texture_margin.cc File Reference
#include "BLI_assert.h"
#include "BLI_math_geom.h"
#include "BLI_math_vector.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_vector.hh"
#include "BKE_attribute.hh"
#include "BKE_customdata.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_legacy_derived_mesh.hh"
#include "BKE_mesh_mapping.hh"
#include "IMB_imbuf.hh"
#include "IMB_interp.hh"
#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

namespace  blender
 
namespace  blender::render
 
namespace  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 Span< float3 > vert_positions, const int edges_num, const OffsetIndices< int > faces, const Span< int > corner_edges, const Span< int > corner_verts, const Span< float2 > mloopuv, const float uv_offset[2])
 
void RE_generate_texturemargin_adjacentfaces (ImBuf *ibuf, char *mask, const int margin, const Mesh *mesh, 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)

◆ DijkstraPixelGetDistance

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

◆ DijkstraPixelIsUnset

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

◆ IsDijkstraPixel

◆ PackDijkstraPixel

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

Function Documentation

◆ RE_generate_texturemargin_adjacentfaces()

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

◆ RE_generate_texturemargin_adjacentfaces_dm()