Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-03-18 21:03:48 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-03-18 22:49:09 +0300
commit59f53f5802276c4ff1d8e5422a76e54f94383626 (patch)
tree2de805a6a8ddca7615885910c89a9e72f2b69999 /source/blender/draw/engines/eevee_next
parent37b93b5df85c9e7acac989c86cf658bf8a0bc1e5 (diff)
EEVEE: Add new experimental "EEVEE Next" option
This is supposed to hold the latest improvement from the EEVEE rewrite branch. Note that a restart is necessary in order for the engine to appear. The registration code is a bit convoluted as it needs to be after the WM_init.
Diffstat (limited to 'source/blender/draw/engines/eevee_next')
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_engine.cc110
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_engine.h19
2 files changed, 129 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee_next/eevee_engine.cc b/source/blender/draw/engines/eevee_next/eevee_engine.cc
new file mode 100644
index 00000000000..b2d750f81eb
--- /dev/null
+++ b/source/blender/draw/engines/eevee_next/eevee_engine.cc
@@ -0,0 +1,110 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2021 Blender Foundation.
+ */
+
+#include "BKE_global.h"
+#include "BLI_rect.h"
+
+#include "GPU_framebuffer.h"
+
+#include "ED_view3d.h"
+
+#include "DRW_render.h"
+
+typedef struct EEVEE_Data {
+ DrawEngineType *engine_type;
+ DRWViewportEmptyList *fbl;
+ DRWViewportEmptyList *txl;
+ DRWViewportEmptyList *psl;
+ DRWViewportEmptyList *stl;
+ void *instance;
+} EEVEE_Data;
+
+static void eevee_engine_init(void *vedata)
+{
+ UNUSED_VARS(vedata);
+}
+
+static void eevee_draw_scene(void *vedata)
+{
+ UNUSED_VARS(vedata);
+}
+
+static void eevee_cache_init(void *vedata)
+{
+ UNUSED_VARS(vedata);
+}
+
+static void eevee_cache_populate(void *vedata, Object *object)
+{
+ UNUSED_VARS(vedata, object);
+}
+
+static void eevee_cache_finish(void *vedata)
+{
+ UNUSED_VARS(vedata);
+}
+
+static void eevee_engine_free(void)
+{
+}
+
+static void eevee_instance_free(void *instance)
+{
+ UNUSED_VARS(instance);
+}
+
+static void eevee_render_to_image(void *UNUSED(vedata),
+ struct RenderEngine *engine,
+ struct RenderLayer *layer,
+ const struct rcti *UNUSED(rect))
+{
+ UNUSED_VARS(engine, layer);
+}
+
+static void eevee_render_update_passes(RenderEngine *engine, Scene *scene, ViewLayer *view_layer)
+{
+ UNUSED_VARS(engine, scene, view_layer);
+}
+
+static const DrawEngineDataSize eevee_data_size = DRW_VIEWPORT_DATA_SIZE(EEVEE_Data);
+
+extern "C" {
+
+DrawEngineType draw_engine_eevee_next_type = {
+ nullptr,
+ nullptr,
+ N_("Eevee"),
+ &eevee_data_size,
+ &eevee_engine_init,
+ &eevee_engine_free,
+ &eevee_instance_free,
+ &eevee_cache_init,
+ &eevee_cache_populate,
+ &eevee_cache_finish,
+ &eevee_draw_scene,
+ nullptr,
+ nullptr,
+ &eevee_render_to_image,
+ nullptr,
+};
+
+RenderEngineType DRW_engine_viewport_eevee_next_type = {
+ nullptr,
+ nullptr,
+ "BLENDER_EEVEE_NEXT",
+ N_("Eevee Next"),
+ RE_INTERNAL | RE_USE_PREVIEW | RE_USE_STEREO_VIEWPORT | RE_USE_GPU_CONTEXT,
+ nullptr,
+ &DRW_render_to_image,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ &eevee_render_update_passes,
+ &draw_engine_eevee_next_type,
+ {nullptr, nullptr, nullptr},
+};
+}
diff --git a/source/blender/draw/engines/eevee_next/eevee_engine.h b/source/blender/draw/engines/eevee_next/eevee_engine.h
new file mode 100644
index 00000000000..9cee11bbba8
--- /dev/null
+++ b/source/blender/draw/engines/eevee_next/eevee_engine.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2016 Blender Foundation. */
+
+/** \file
+ * \ingroup DNA
+ */
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern DrawEngineType draw_engine_eevee_next_type;
+extern RenderEngineType DRW_engine_viewport_eevee_next_type;
+
+#ifdef __cplusplus
+}
+#endif