2022-02-11 09:07:11 +11:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
* Copyright 2001-2002 NaN Holding BV. All rights reserved. */
|
2022-01-17 18:00:35 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
/** \file
|
|
|
|
|
* \ingroup bke
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-01-24 21:16:06 +11:00
|
|
|
struct DerivedMesh;
|
2022-01-17 18:00:35 +01:00
|
|
|
struct IMBuf;
|
|
|
|
|
struct ImBuf;
|
2022-01-24 21:16:06 +11:00
|
|
|
struct MLoopUV;
|
|
|
|
|
struct Mesh;
|
2022-01-17 18:00:35 +01:00
|
|
|
|
2022-01-18 13:05:07 +11:00
|
|
|
/**
|
|
|
|
|
* Generate a margin around the textures uv islands by copying pixels from the adjacent polygon.
|
|
|
|
|
*
|
|
|
|
|
* \param ibuf: the texture image.
|
|
|
|
|
* \param mask: pixels with a mask value of 1 are not written to.
|
|
|
|
|
* \param margin: the size of the margin in pixels.
|
|
|
|
|
* \param me: the mesh to use the polygons of.
|
2022-03-23 17:16:37 +11:00
|
|
|
* \param uv_layer: The UV layer to use.
|
2022-01-18 13:05:07 +11:00
|
|
|
*/
|
2022-04-22 20:44:49 +02:00
|
|
|
void RE_generate_texturemargin_adjacentfaces(struct ImBuf *ibuf,
|
|
|
|
|
char *mask,
|
|
|
|
|
const int margin,
|
|
|
|
|
struct Mesh const *me,
|
|
|
|
|
char const *uv_layer,
|
|
|
|
|
const float uv_offset[2]);
|
2022-01-17 18:00:35 +01:00
|
|
|
|
|
|
|
|
void RE_generate_texturemargin_adjacentfaces_dm(struct ImBuf *ibuf,
|
|
|
|
|
char *mask,
|
|
|
|
|
const int margin,
|
2022-04-22 20:44:49 +02:00
|
|
|
struct DerivedMesh *dm,
|
|
|
|
|
const float uv_offset[2]);
|
2022-01-17 18:00:35 +01:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|