forked from bartvdbraak/blender
Allow render engine to declare whether it's capable of the texture rendering or not
If render engine has bl_use_texture_preview set to truth blender wouldn't fallback to the blender internal rendering for previews.
This commit is contained in:
parent
2d83108f93
commit
1a7b7bb74e
@ -88,6 +88,7 @@
|
||||
#include "PIL_time.h"
|
||||
|
||||
#include "RE_pipeline.h"
|
||||
#include "RE_engine.h"
|
||||
|
||||
#include "WM_api.h"
|
||||
#include "WM_types.h"
|
||||
@ -213,6 +214,12 @@ void ED_preview_init_dbase(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool check_engine_supports_textures(Scene *scene)
|
||||
{
|
||||
RenderEngineType *type = RE_engines_find(scene->r.engine);
|
||||
return type->flag & RE_USE_TEXTURE_PREVIEW;
|
||||
}
|
||||
|
||||
void ED_preview_free_dbase(void)
|
||||
{
|
||||
if (G_pr_main)
|
||||
@ -299,7 +306,7 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre
|
||||
|
||||
sce->r.cfra = scene->r.cfra;
|
||||
|
||||
if (id_type == ID_TE) {
|
||||
if (id_type == ID_TE && !check_engine_supports_textures(scene)) {
|
||||
/* Force blender internal for texture icons and nodes render,
|
||||
* seems commonly used render engines does not support
|
||||
* such kind of rendering.
|
||||
|
@ -587,6 +587,10 @@ static void rna_def_render_engine(BlenderRNA *brna)
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_USE_PREVIEW);
|
||||
RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
|
||||
|
||||
prop = RNA_def_property(srna, "bl_use_texture_preview", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_USE_TEXTURE_PREVIEW);
|
||||
RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
|
||||
|
||||
prop = RNA_def_property(srna, "bl_use_postprocess", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_negative_sdna(prop, NULL, "type->flag", RE_USE_POSTPROCESS);
|
||||
RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
|
||||
|
@ -60,6 +60,7 @@ struct BakePixel;
|
||||
#define RE_USE_SHADING_NODES 16
|
||||
#define RE_USE_EXCLUDE_LAYERS 32
|
||||
#define RE_USE_SAVE_BUFFERS 64
|
||||
#define RE_USE_TEXTURE_PREVIEW 128
|
||||
|
||||
/* RenderEngine.flag */
|
||||
#define RE_ENGINE_ANIMATION 1
|
||||
|
Loading…
Reference in New Issue
Block a user