Cleanup: manually remove header text not handled by automation
[blender.git] / source / blender / render / extern / include / RE_render_ext.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2006 by Blender Foundation
17  * All rights reserved.
18  */
19 /** \file RE_render_ext.h
20  *  \ingroup render
21  */
22
23
24 #ifndef __RE_RENDER_EXT_H__
25 #define __RE_RENDER_EXT_H__
26
27 /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
28 /* this include is for non-render pipeline exports (still old cruft here) */
29 /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
30
31 /* called by meshtools */
32 struct Depsgraph;
33 struct ImagePool;
34 struct MTex;
35 struct Render;
36 struct Scene;
37 struct ViewLayer;
38
39 /* render_texture.c */
40 /* used by particle.c, effect.c, editmesh_modes.c and brush.c, returns 1 if rgb, 0 otherwise */
41 int externtex(
42         const struct MTex *mtex, const float vec[3], float *tin, float *tr, float *tg, float *tb, float *ta,
43         const int thread, struct ImagePool *pool, const bool skip_load_image, const bool texnode_preview);
44 void texture_rgb_blend(float in[3], const float tex[3], const float out[3], float fact, float facg, int blendtype);
45 float texture_value_blend(float tex, float out, float fact, float facg, int blendtype);
46
47 void RE_texture_rng_init(void);
48 void RE_texture_rng_exit(void);
49
50 /* imagetexture.c */
51 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float result[4]);
52
53 /* pointdensity.c */
54 struct PointDensity;
55
56 void RE_point_density_cache(
57         struct Depsgraph *depsgraph,
58         struct PointDensity *pd);
59
60 void RE_point_density_minmax(
61         struct Depsgraph *depsgraph,
62         struct PointDensity *pd,
63         float r_min[3], float r_max[3]);
64
65 void RE_point_density_sample(
66         struct Depsgraph *depsgraph,
67         struct PointDensity *pd,
68         const int resolution,
69         float *values);
70
71 void RE_point_density_free(struct PointDensity *pd);
72
73 void RE_point_density_fix_linking(void);
74
75 #endif /* __RE_RENDER_EXT_H__ */