Listing the "Blender Foundation" as copyright holder implied the Blender Foundation holds copyright to files which may include work from many developers. While keeping copyright on headers makes sense for isolated libraries, Blender's own code may be refactored or moved between files in a way that makes the per file copyright holders less meaningful. Copyright references to the "Blender Foundation" have been replaced with "Blender Authors", with the exception of `./extern/` since these this contains libraries which are more isolated, any changed to license headers there can be handled on a case-by-case basis. Some directories in `./intern/` have also been excluded: - `./intern/cycles/` it's own `AUTHORS` file is planned. - `./intern/opensubdiv/`. An "AUTHORS" file has been added, using the chromium projects authors file as a template. Design task: #110784 Ref !110783.
63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
/* SPDX-FileCopyrightText: 2023 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
/** \file
|
|
* \ingroup freestyle
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct FreestyleConfig;
|
|
struct FreestyleLineStyle;
|
|
struct Material;
|
|
struct Render;
|
|
|
|
struct FreestyleGlobals {
|
|
struct Scene *scene;
|
|
|
|
/* camera information */
|
|
float viewpoint[3];
|
|
float mv[4][4];
|
|
float proj[4][4];
|
|
int viewport[4];
|
|
};
|
|
|
|
extern struct FreestyleGlobals g_freestyle;
|
|
|
|
/* Rendering */
|
|
void FRS_init(void);
|
|
void FRS_set_context(struct bContext *C);
|
|
int FRS_is_freestyle_enabled(struct ViewLayer *view_layer);
|
|
void FRS_init_stroke_renderer(struct Render *re);
|
|
void FRS_begin_stroke_rendering(struct Render *re);
|
|
void FRS_do_stroke_rendering(struct Render *re, struct ViewLayer *view_layer);
|
|
void FRS_end_stroke_rendering(struct Render *re);
|
|
void FRS_free_view_map_cache(void);
|
|
void FRS_composite_result(struct Render *re,
|
|
struct ViewLayer *view_layer,
|
|
struct Render *freestyle_render);
|
|
void FRS_exit(void);
|
|
|
|
/* FreestyleConfig.linesets */
|
|
void FRS_copy_active_lineset(struct FreestyleConfig *config);
|
|
void FRS_paste_active_lineset(struct FreestyleConfig *config);
|
|
void FRS_delete_active_lineset(struct FreestyleConfig *config);
|
|
/**
|
|
* Reinsert the active lineset at an offset \a direction from current position.
|
|
* \return if position of active lineset has changed.
|
|
*/
|
|
bool FRS_move_active_lineset(struct FreestyleConfig *config, int direction);
|
|
|
|
/* Testing */
|
|
struct Material *FRS_create_stroke_material(struct Main *bmain,
|
|
struct FreestyleLineStyle *linestyle);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|