[Bf-blender-cvs] [1c9d8fcb477] master: Render: move editor/render module to c++
Jacques Lucke
noreply at git.blender.org
Mon Dec 27 17:28:31 CET 2021
Commit: 1c9d8fcb477c5aea5555781cc209d60da126f48f
Author: Jacques Lucke
Date: Mon Dec 27 17:26:09 2021 +0100
Branches: master
https://developer.blender.org/rB1c9d8fcb477c5aea5555781cc209d60da126f48f
Render: move editor/render module to c++
Doing this in preparation for some work on asset preview generation.
Differential Revision: https://developer.blender.org/D13676
===================================================================
M source/blender/blenkernel/BKE_context.h
M source/blender/draw/engines/eevee/eevee_lightcache.h
M source/blender/editors/include/ED_render.h
M source/blender/editors/render/CMakeLists.txt
R100 source/blender/editors/render/render_intern.h source/blender/editors/render/render_intern.hh
R095 source/blender/editors/render/render_internal.c source/blender/editors/render/render_internal.cc
R093 source/blender/editors/render/render_opengl.c source/blender/editors/render/render_opengl.cc
R098 source/blender/editors/render/render_ops.c source/blender/editors/render/render_ops.cc
R093 source/blender/editors/render/render_preview.c source/blender/editors/render/render_preview.cc
R096 source/blender/editors/render/render_shading.c source/blender/editors/render/render_shading.cc
R084 source/blender/editors/render/render_update.c source/blender/editors/render/render_update.cc
R090 source/blender/editors/render/render_view.c source/blender/editors/render/render_view.cc
===================================================================
diff --git a/source/blender/blenkernel/BKE_context.h b/source/blender/blenkernel/BKE_context.h
index ac864c7f82c..f50270ed4e7 100644
--- a/source/blender/blenkernel/BKE_context.h
+++ b/source/blender/blenkernel/BKE_context.h
@@ -282,8 +282,9 @@ bool CTX_data_dir(const char *member);
ListBase ctx_data_list; \
CollectionPointerLink *ctx_link; \
CTX_data_##member(C, &ctx_data_list); \
- for (ctx_link = ctx_data_list.first; ctx_link; ctx_link = ctx_link->next) { \
- Type instance = ctx_link->ptr.data;
+ for (ctx_link = (CollectionPointerLink *)ctx_data_list.first; ctx_link; \
+ ctx_link = ctx_link->next) { \
+ Type instance = (Type)ctx_link->ptr.data;
#define CTX_DATA_END \
} \
diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.h b/source/blender/draw/engines/eevee/eevee_lightcache.h
index ccd53f6c037..589b035b8bd 100644
--- a/source/blender/draw/engines/eevee/eevee_lightcache.h
+++ b/source/blender/draw/engines/eevee/eevee_lightcache.h
@@ -33,6 +33,10 @@ struct Scene;
struct SceneEEVEE;
struct ViewLayer;
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Light Bake.
*/
@@ -77,3 +81,7 @@ void EEVEE_lightcache_info_update(struct SceneEEVEE *eevee);
void EEVEE_lightcache_blend_write(struct BlendWriter *writer, struct LightCache *cache);
void EEVEE_lightcache_blend_read_data(struct BlendDataReader *reader, struct LightCache *cache);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/editors/include/ED_render.h b/source/blender/editors/include/ED_render.h
index f60d62ed384..b91569cee03 100644
--- a/source/blender/editors/include/ED_render.h
+++ b/source/blender/editors/include/ED_render.h
@@ -23,6 +23,7 @@
#pragma once
+#include "DNA_ID_enums.h"
#include "DNA_vec_types.h"
#ifdef __cplusplus
@@ -41,7 +42,6 @@ struct bContext;
struct bScreen;
struct wmWindow;
struct wmWindowManager;
-enum eIconSizes;
/* render_ops.c */
@@ -100,7 +100,7 @@ void ED_preview_shader_job(const struct bContext *C,
struct MTex *slot,
int sizex,
int sizey,
- int method);
+ ePreviewRenderMethod method);
void ED_preview_icon_render(const struct bContext *C,
struct Scene *scene,
struct ID *id,
diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt
index 46afa390997..31dca83a3ab 100644
--- a/source/blender/editors/render/CMakeLists.txt
+++ b/source/blender/editors/render/CMakeLists.txt
@@ -36,15 +36,15 @@ set(INC
)
set(SRC
- render_internal.c
- render_opengl.c
- render_ops.c
- render_preview.c
- render_shading.c
- render_update.c
- render_view.c
+ render_internal.cc
+ render_opengl.cc
+ render_ops.cc
+ render_preview.cc
+ render_shading.cc
+ render_update.cc
+ render_view.cc
- render_intern.h
+ render_intern.hh
)
set(LIB
diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.hh
similarity index 100%
rename from source/blender/editors/render/render_intern.h
rename to source/blender/editors/render/render_intern.hh
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.cc
similarity index 95%
rename from source/blender/editors/render/render_internal.c
rename to source/blender/editors/render/render_internal.cc
index 1a9b72c1fab..97218ac02bf 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.cc
@@ -78,7 +78,7 @@
#include "SEQ_relations.h"
-#include "render_intern.h"
+#include "render_intern.hh"
/* Render Callbacks */
static int render_break(void *rjv);
@@ -384,7 +384,7 @@ static int screen_render_exec(bContext *C, wmOperator *op)
static void render_freejob(void *rjv)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
BKE_color_managed_view_settings_free(&rj->view_settings);
MEM_freeN(rj);
@@ -472,7 +472,7 @@ static void make_renderinfo_string(const RenderStats *rs,
static void image_renderinfo_cb(void *rjv, RenderStats *rs)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
RenderResult *rr;
rr = RE_AcquireResultRead(rj->re);
@@ -480,7 +480,7 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs)
if (rr) {
/* malloc OK here, stats_draw is not in tile threads */
if (rr->text == NULL) {
- rr->text = MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext");
+ rr->text = static_cast<char *>(MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext"));
}
make_renderinfo_string(rs, rj->scene, rj->v3d_override, rr->error, rr->text);
@@ -494,7 +494,7 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs)
static void render_progress_update(void *rjv, float progress)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
if (rj->progress && *rj->progress != progress) {
*rj->progress = progress;
@@ -515,14 +515,16 @@ static void render_image_update_pass_and_layer(RenderJob *rj, RenderResult *rr,
ScrArea *first_area = NULL, *matched_area = NULL;
/* image window, compo node users */
- for (wm = rj->main->wm.first; wm && matched_area == NULL; wm = wm->id.next) { /* only 1 wm */
+ for (wm = static_cast<wmWindowManager *>(rj->main->wm.first); wm && matched_area == NULL;
+ wm = static_cast<wmWindowManager *>(wm->id.next)) { /* only 1 wm */
wmWindow *win;
- for (win = wm->windows.first; win && matched_area == NULL; win = win->next) {
+ for (win = static_cast<wmWindow *>(wm->windows.first); win && matched_area == NULL;
+ win = win->next) {
const bScreen *screen = WM_window_get_active_screen(win);
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
if (area->spacetype == SPACE_IMAGE) {
- SpaceImage *sima = area->spacedata.first;
+ SpaceImage *sima = static_cast<SpaceImage *>(area->spacedata.first);
/* area->spacedata might be empty when toggling full-screen mode. */
if (sima != NULL && sima->image == rj->image) {
if (first_area == NULL) {
@@ -543,7 +545,7 @@ static void render_image_update_pass_and_layer(RenderJob *rj, RenderResult *rr,
}
if (matched_area) {
- SpaceImage *sima = matched_area->spacedata.first;
+ SpaceImage *sima = static_cast<SpaceImage *>(matched_area->spacedata.first);
RenderResult *main_rr = RE_AcquireResultRead(rj->re);
/* TODO(sergey): is there faster way to get the layer index? */
@@ -563,7 +565,7 @@ static void render_image_update_pass_and_layer(RenderJob *rj, RenderResult *rr,
static void image_rect_update(void *rjv, RenderResult *rr, volatile rcti *renrect)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
Image *ima = rj->image;
ImBuf *ibuf;
void *lock;
@@ -623,14 +625,14 @@ static void image_rect_update(void *rjv, RenderResult *rr, volatile rcti *renrec
static void current_scene_update(void *rjv, Scene *scene)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
rj->current_scene = scene;
rj->iuser.scene = scene;
}
static void render_startjob(void *rjv, short *stop, short *do_update, float *progress)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
rj->stop = stop;
rj->do_update = do_update;
@@ -666,15 +668,16 @@ static void render_image_restore_layer(RenderJob *rj)
wmWindowManager *wm;
/* image window, compo node users */
- for (wm = rj->main->wm.first; wm; wm = wm->id.next) { /* only 1 wm */
+ for (wm = static_cast<wmWindowManager *>(rj->main->wm.first); wm;
+ wm = static_cast<wmWindowManager *>(wm->id.next)) { /* only 1 wm */
wmWindow *win;
- for (win = wm->windows.first; win; win = win->next) {
+ for (win = static_cast<wmWindow *>(wm->windows.first); win; win = win->next) {
const bScreen *screen = WM_window_get_active_screen(win);
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
if (area == rj->area) {
if (area->spacetype == SPACE_IMAGE) {
- SpaceImage *sima = area->spacedata.first;
+ SpaceImage *sima = static_cast<SpaceImage *>(area->spacedata.first);
if (RE_HasSingleLayer(rj->re)) {
/* For single layer renders keep the active layer
@@ -700,7 +703,7 @@ static void render_image_restore_layer(RenderJob *rj)
static void render_endjob(void *rjv)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
/* this render may be used again by the sequencer without the active
* 'Render' where the callbacks would be re-assigned. assign dummy callbacks
@@ -774,7 +777,7 @@ static void render_endjob(void *rjv)
* and using one from Global will unlock exactly the same manager as
* was locked before running the job.
*/
- WM_set_locked_interface(G_MAIN->wm.first, false);
+ WM_set_locked_interface(static_cast<wmWindowManager *>(G_MAIN->wm.first), false);
DEG_tag_on_visible_update(G_MAIN, false);
}
}
@@ -782,7 +785,7 @@ static void render_endjob(void *rjv)
/* called by render, check job 'stop' value or the global */
static int render_breakjob(void *rjv)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
if (G.is_break) {
return 1;
@@ -809,7 +812,7 @@ static int render_break(void *UNUSED(rjv))
/* maybe need a way to get job send notifier? */
static void render_drawlock(void *rjv, bool lock)
{
- RenderJob *rj = rjv;
+ RenderJob *rj = static_cast<RenderJob *>(rjv);
/* If interface is locked, renderer callback shall do nothing. */
if (!rj->interface_locked) {
@@ -871,11 +874,12 @@ static void clean_viewport_memory(Main *bmain, Scene *scene)
BKE_main_id_tag_listbase(&bmain->objects, LIB_TAG_DOIT, true);
/* Go over all the visible objects. */
- for (wmWindowManager *wm = bmain->wm.first; wm; wm = wm->id.next) {
+ for (wmWindowManager *wm = static_cast<wmWindowManager *>(bmain->wm.first); wm;
+ wm = static_cast<wmWindowManager *>(wm->id.n
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list