Blender V4.3
FRS_freestyle.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15struct FreestyleConfig;
17struct Material;
18struct Render;
19
21 struct Scene *scene;
22
23 /* camera information */
24 float viewpoint[3];
25 float mv[4][4];
26 float proj[4][4];
27 int viewport[4];
28};
29
30extern struct FreestyleGlobals g_freestyle;
31
32/* Rendering */
33void FRS_init(void);
34void FRS_set_context(struct bContext *C);
35int FRS_is_freestyle_enabled(struct ViewLayer *view_layer);
36void FRS_init_stroke_renderer(struct Render *re);
37void FRS_begin_stroke_rendering(struct Render *re);
38void FRS_do_stroke_rendering(struct Render *re, struct ViewLayer *view_layer);
39void FRS_end_stroke_rendering(struct Render *re);
41void FRS_composite_result(struct Render *re,
42 struct ViewLayer *view_layer,
43 struct Render *freestyle_render);
44void FRS_exit(void);
45
46/* FreestyleConfig.linesets */
47void FRS_copy_active_lineset(struct FreestyleConfig *config);
48void FRS_paste_active_lineset(struct FreestyleConfig *config);
54bool FRS_move_active_lineset(struct FreestyleConfig *config, int direction);
55
56/* Testing */
57struct Material *FRS_create_stroke_material(struct Main *bmain,
59
60#ifdef __cplusplus
61}
62#endif
struct FreestyleGlobals g_freestyle
bool FRS_move_active_lineset(struct FreestyleConfig *config, int direction)
void FRS_set_context(struct bContext *C)
void FRS_init_stroke_renderer(struct Render *re)
void FRS_exit(void)
void FRS_end_stroke_rendering(struct Render *re)
void FRS_begin_stroke_rendering(struct Render *re)
void FRS_composite_result(struct Render *re, struct ViewLayer *view_layer, struct Render *freestyle_render)
int FRS_is_freestyle_enabled(struct ViewLayer *view_layer)
void FRS_do_stroke_rendering(struct Render *re, struct ViewLayer *view_layer)
void FRS_free_view_map_cache(void)
void FRS_paste_active_lineset(struct FreestyleConfig *config)
struct Material * FRS_create_stroke_material(struct Main *bmain, struct FreestyleLineStyle *linestyle)
void FRS_copy_active_lineset(struct FreestyleConfig *config)
void FRS_init(void)
void FRS_delete_active_lineset(struct FreestyleConfig *config)
FreestyleLineStyle linestyle
float proj[4][4]
struct Scene * scene