diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-02-07 13:20:15 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-02-07 13:31:22 +0300 |
commit | 83adc544382689217e19564fd5f2dd62160956cb (patch) | |
tree | 1026a590c1079b4907a6cab43e2c5759339c4350 /source/blenderplayer | |
parent | aeb8e81f2741aabc95d14bce7a83cef45481959c (diff) |
Clay-Engine (merge clay-engine)
Initial work by Clément Foucault with contributions from Dalai Felinto
(mainly per-collection engine settings logic, and depsgraph iterator placeholder).
This makes Blender require OpenGL 3.3. Which means Intel graphic card
and OSX will break. Disable CLAY_ENGINE in CMake in those cases.
This is a prototype render engine intended to help the design of real
render engines. This is mainly an engine with enphasis in matcap and
ambient occlusion.
Implemented Features
--------------------
* Clay Render Engine, following the new API, to be used as reference for
future engines
* A more complete Matcap customization with more options
* Per-Collection render engine settings
* New Ground Truth AO - not enabled
Missing Features
----------------
* Finish object edit mode
- Fix shaders to use new matrix
- Fix artifacts when edge does off screen
- Fix depth issue
- Selection sillhouette
- Mesh wires
- Use mesh normals (for higher quality matcap)
- Non-Mesh objects drawing
- Widget drawing
- Performance issues
* Finish mesh edit mode
- Derived-Mesh-less edit mode API (mesh_rende.c)
* General edit mode
- Per-collection edit mode settings
* General engines
- Per-collection engine settings
(they are their, but they still need to be flushed by depsgraph, and
used by the drawing code)
Diffstat (limited to 'source/blenderplayer')
-rw-r--r-- | source/blenderplayer/bad_level_call_stubs/stubs.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index e74f6f3208c..a9cf76adae3 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -186,6 +186,7 @@ struct wmWindowManager; #include "../blender/render/extern/include/RE_pipeline.h" #include "../blender/render/extern/include/RE_render_ext.h" #include "../blender/render/extern/include/RE_shader_ext.h" +#include "../blender/draw/DRW_engine.h" #include "../blender/windowmanager/WM_api.h" @@ -663,6 +664,7 @@ void RE_ReleaseResultImage(struct Render *re) RET_NONE int RE_engine_test_break(struct RenderEngine *engine) RET_ZERO void RE_engines_init() RET_NONE void RE_engines_exit() RET_NONE +void RE_engines_register(struct Main *bmain, RenderEngineType *render_type) RET_NONE void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) RET_NONE ListBase R_engines = {NULL, NULL}; void RE_engine_free(struct RenderEngine *engine) RET_NONE @@ -679,6 +681,9 @@ void RE_instance_get_particle_info(struct ObjectInstanceRen *obi, float *index, void RE_FreeAllPersistentData(void) RET_NONE float RE_fresnel_dielectric(float incoming[3], float normal[3], float eta) RET_ZERO +/* Draw */ +void *DRW_render_settings_get(struct Scene *scene, const char *engine_name) RET_NULL + /* python */ struct wmOperatorType *WM_operatortype_find(const char *idname, bool quiet) RET_NULL void WM_operatortype_iter(struct GHashIterator *ghi) RET_NONE |