[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41199] trunk/blender/source: Code refactoring: move external engine functions into own file.
Brecht Van Lommel
brechtvanlommel at pandora.be
Sat Oct 22 18:24:29 CEST 2011
Revision: 41199
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41199
Author: blendix
Date: 2011-10-22 16:24:28 +0000 (Sat, 22 Oct 2011)
Log Message:
-----------
Code refactoring: move external engine functions into own file.
Modified Paths:
--------------
trunk/blender/source/blender/makesrna/intern/rna_render.c
trunk/blender/source/blender/makesrna/intern/rna_scene.c
trunk/blender/source/blender/render/CMakeLists.txt
trunk/blender/source/blender/render/extern/include/RE_pipeline.h
trunk/blender/source/blender/render/intern/include/renderpipeline.h
trunk/blender/source/blender/render/intern/source/pipeline.c
trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
trunk/blender/source/creator/creator.c
Added Paths:
-----------
trunk/blender/source/blender/render/extern/include/RE_engine.h
trunk/blender/source/blender/render/intern/source/external_engine.c
Modified: trunk/blender/source/blender/makesrna/intern/rna_render.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_render.c 2011-10-22 16:16:14 UTC (rev 41198)
+++ trunk/blender/source/blender/makesrna/intern/rna_render.c 2011-10-22 16:24:28 UTC (rev 41199)
@@ -36,6 +36,7 @@
#include "rna_internal.h"
+#include "RE_engine.h"
#include "RE_pipeline.h"
#include "BKE_utildefines.h"
Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c 2011-10-22 16:16:14 UTC (rev 41198)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c 2011-10-22 16:24:28 UTC (rev 41199)
@@ -199,7 +199,7 @@
#include "ED_mesh.h"
#include "ED_keyframing.h"
-#include "RE_pipeline.h"
+#include "RE_engine.h"
static int rna_Scene_object_bases_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
Modified: trunk/blender/source/blender/render/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/render/CMakeLists.txt 2011-10-22 16:16:14 UTC (rev 41198)
+++ trunk/blender/source/blender/render/CMakeLists.txt 2011-10-22 16:24:28 UTC (rev 41199)
@@ -56,6 +56,7 @@
intern/raytrace/rayobject_vbvh.cpp
intern/source/convertblender.c
intern/source/envmap.c
+ intern/source/external_engine.c
intern/source/gammaCorrectionTables.c
intern/source/imagetexture.c
intern/source/initrender.c
@@ -79,6 +80,7 @@
intern/source/voxeldata.c
intern/source/zbuf.c
+ extern/include/RE_engine.h
extern/include/RE_pipeline.h
extern/include/RE_render_ext.h
extern/include/RE_shader_ext.h
Copied: trunk/blender/source/blender/render/extern/include/RE_engine.h (from rev 41192, trunk/blender/source/blender/render/extern/include/RE_pipeline.h)
===================================================================
--- trunk/blender/source/blender/render/extern/include/RE_engine.h (rev 0)
+++ trunk/blender/source/blender/render/extern/include/RE_engine.h 2011-10-22 16:24:28 UTC (rev 41199)
@@ -0,0 +1,97 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2006 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file RE_engine.h
+ * \ingroup render
+ */
+
+#ifndef RE_ENGINE_H
+#define RE_ENGINE_H
+
+#include "DNA_listBase.h"
+#include "RNA_types.h"
+
+struct Object;
+struct Render;
+struct RenderEngine;
+struct RenderEngineType;
+struct RenderLayer;
+struct RenderResult;
+struct ReportList;
+struct Scene;
+
+/* External Engine */
+
+#define RE_INTERNAL 1
+#define RE_GAME 2
+#define RE_DO_PREVIEW 4
+#define RE_DO_ALL 8
+
+extern ListBase R_engines;
+
+typedef struct RenderEngineType {
+ struct RenderEngineType *next, *prev;
+
+ /* type info */
+ char idname[64]; // best keep the same size as BKE_ST_MAXNAME
+ char name[64];
+ int flag;
+
+ void (*render)(struct RenderEngine *engine, struct Scene *scene);
+
+ /* RNA integration */
+ ExtensionRNA ext;
+} RenderEngineType;
+
+typedef struct RenderEngine {
+ RenderEngineType *type;
+ struct Render *re;
+ ListBase fullresult;
+} RenderEngine;
+
+void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y);
+void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, const char *filename);
+
+struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h);
+void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result);
+void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result);
+
+int RE_engine_test_break(RenderEngine *engine);
+void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info);
+void RE_engine_report(RenderEngine *engine, int type, const char *msg);
+
+int RE_engine_render(struct Render *re, int do_all);
+
+/* Engine Types */
+
+void RE_engines_init(void);
+void RE_engines_exit(void);
+
+#endif /* RE_ENGINE_H */
+
Modified: trunk/blender/source/blender/render/extern/include/RE_pipeline.h
===================================================================
--- trunk/blender/source/blender/render/extern/include/RE_pipeline.h 2011-10-22 16:16:14 UTC (rev 41198)
+++ trunk/blender/source/blender/render/extern/include/RE_pipeline.h 2011-10-22 16:24:28 UTC (rev 41199)
@@ -36,7 +36,6 @@
#include "DNA_listBase.h"
#include "DNA_vec_types.h"
-#include "RNA_types.h"
struct bNodeTree;
struct Image;
@@ -44,11 +43,8 @@
struct NodeBlurData;
struct Object;
struct RenderData;
-struct RenderEngine;
-struct RenderEngineType;
struct RenderResult;
struct ReportList;
-struct ReportList;
struct Scene;
struct SceneRenderLayer;
struct EnvMap;
@@ -276,49 +272,6 @@
void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[][4]);
struct Scene *RE_GetScene(struct Render *re);
-/* External Engine */
-
-#define RE_INTERNAL 1
-#define RE_GAME 2
-#define RE_DO_PREVIEW 4
-#define RE_DO_ALL 8
-
-extern ListBase R_engines;
-
-typedef struct RenderEngineType {
- struct RenderEngineType *next, *prev;
-
- /* type info */
- char idname[64]; // best keep the same size as BKE_ST_MAXNAME
- char name[64];
- int flag;
-
- void (*render)(struct RenderEngine *engine, struct Scene *scene);
-
- /* RNA integration */
- ExtensionRNA ext;
-} RenderEngineType;
-
-typedef struct RenderEngine {
- RenderEngineType *type;
- struct Render *re;
- ListBase fullresult;
-} RenderEngine;
-
-void RE_layer_load_from_file(RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y);
-void RE_result_load_from_file(RenderResult *result, struct ReportList *reports, const char *filename);
-
-struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h);
-void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result);
-void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result);
-
-int RE_engine_test_break(RenderEngine *engine);
-void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info);
-void RE_engine_report(RenderEngine *engine, int type, const char *msg);
-
-void RE_engines_init(void);
-void RE_engines_exit(void);
-
int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, struct ReportList *reports);
#endif /* RE_PIPELINE_H */
Modified: trunk/blender/source/blender/render/intern/include/renderpipeline.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/renderpipeline.h 2011-10-22 16:16:14 UTC (rev 41198)
+++ trunk/blender/source/blender/render/intern/include/renderpipeline.h 2011-10-22 16:24:28 UTC (rev 41199)
@@ -35,14 +35,22 @@
#ifndef PIPELINE_H
#define PIPELINE_H
+struct ListBase;
struct Render;
struct RenderResult;
struct RenderLayer;
+struct rcti;
struct RenderLayer *render_get_active_layer(struct Render *re, struct RenderResult *rr);
float panorama_pixel_rot(struct Render *re);
#define PASS_VECTOR_MAX 10000.0f
+#define RR_USEMEM 0
+
+struct RenderResult *new_render_result(struct Render *re, struct rcti *partrct, int crop, int savebuffers);
+void merge_render_result(struct RenderResult *rr, struct RenderResult *rrpart);
+void free_render_result(struct ListBase *lb, struct RenderResult *rr);
+
#endif /* PIPELINE_H */
Added: trunk/blender/source/blender/render/intern/source/external_engine.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/external_engine.c (rev 0)
+++ trunk/blender/source/blender/render/intern/source/external_engine.c 2011-10-22 16:24:28 UTC (rev 41199)
@@ -0,0 +1,186 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2006 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/render/intern/pipeline/engine.c
+ * \ingroup render
+ */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_listbase.h"
+#include "BLI_string.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_report.h"
+#include "BKE_scene.h"
+
+#include "IMB_imbuf.h"
+#include "IMB_imbuf_types.h"
+
+#include "RE_engine.h"
+#include "RE_pipeline.h"
+
+#include "render_types.h"
+#include "renderpipeline.h"
+
+/************************** External Engines ***************************/
+
+RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h)
+{
+ Render *re= engine->re;
+ RenderResult *result;
+ rcti disprect;
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list