Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
111 lines
4.7 KiB
C++
111 lines
4.7 KiB
C++
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2008 Blender Foundation. All rights reserved. */
|
|
|
|
/** \file
|
|
* \ingroup editors
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "DNA_object_enums.h"
|
|
#include "DNA_view3d_types.h"
|
|
|
|
#include "IMB_imbuf_types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* ********* exports for space_view3d/ module for offscreen rendering ********** */
|
|
struct ARegion;
|
|
struct Depsgraph;
|
|
struct GPUOffScreen;
|
|
struct GPUViewport;
|
|
struct Scene;
|
|
struct View3D;
|
|
struct View3DShading;
|
|
|
|
void ED_view3d_draw_offscreen(struct Depsgraph *depsgraph,
|
|
const struct Scene *scene,
|
|
eDrawType drawtype,
|
|
struct View3D *v3d,
|
|
struct ARegion *region,
|
|
int winx,
|
|
int winy,
|
|
const float viewmat[4][4],
|
|
const float winmat[4][4],
|
|
bool is_image_render,
|
|
bool draw_background,
|
|
const char *viewname,
|
|
bool do_color_management,
|
|
bool restore_rv3d_mats,
|
|
struct GPUOffScreen *ofs,
|
|
struct GPUViewport *viewport);
|
|
/**
|
|
* Creates own fake 3d views (wrapping #ED_view3d_draw_offscreen). Similar too
|
|
* #ED_view_draw_offscreen_imbuf_simple, but takes view/projection matrices as arguments.
|
|
*/
|
|
void ED_view3d_draw_offscreen_simple(struct Depsgraph *depsgraph,
|
|
struct Scene *scene,
|
|
struct View3DShading *shading_override,
|
|
eDrawType drawtype,
|
|
int winx,
|
|
int winy,
|
|
unsigned int draw_flags,
|
|
const float viewmat[4][4],
|
|
const float winmat[4][4],
|
|
float clip_start,
|
|
float clip_end,
|
|
bool is_xr_surface,
|
|
bool is_image_render,
|
|
bool draw_background,
|
|
const char *viewname,
|
|
bool do_color_management,
|
|
struct GPUOffScreen *ofs,
|
|
struct GPUViewport *viewport);
|
|
|
|
/**
|
|
* Utility func for ED_view3d_draw_offscreen
|
|
*
|
|
* \param ofs: Optional off-screen buffer, can be NULL.
|
|
* (avoids re-creating when doing multiple GL renders).
|
|
*/
|
|
struct ImBuf *ED_view3d_draw_offscreen_imbuf(struct Depsgraph *depsgraph,
|
|
struct Scene *scene,
|
|
eDrawType drawtype,
|
|
struct View3D *v3d,
|
|
struct ARegion *region,
|
|
int sizex,
|
|
int sizey,
|
|
eImBufFlags imbuf_flag,
|
|
int alpha_mode,
|
|
const char *viewname,
|
|
bool restore_rv3d_mats,
|
|
struct GPUOffScreen *ofs,
|
|
char err_out[256]);
|
|
/**
|
|
* Creates own fake 3d views (wrapping #ED_view3d_draw_offscreen_imbuf)
|
|
*
|
|
* \param ofs: Optional off-screen buffer can be NULL.
|
|
* (avoids re-creating when doing multiple GL renders).
|
|
*
|
|
* \note used by the sequencer
|
|
*/
|
|
struct ImBuf *ED_view3d_draw_offscreen_imbuf_simple(struct Depsgraph *depsgraph,
|
|
struct Scene *scene,
|
|
struct View3DShading *shading_override,
|
|
eDrawType drawtype,
|
|
struct Object *camera,
|
|
int width,
|
|
int height,
|
|
eImBufFlags imbuf_flags,
|
|
eV3DOffscreenDrawFlag draw_flags,
|
|
int alpha_mode,
|
|
const char *viewname,
|
|
struct GPUOffScreen *ofs,
|
|
char err_out[256]);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|