[Bf-blender-cvs] [2a15303a8f6] soc-2019-npr: LANPR: GPU mode now supports all three usage flags in objects and collections.
YimingWu
noreply at git.blender.org
Mon Jul 8 10:30:40 CEST 2019
Commit: 2a15303a8f65ece2ad7411578fe2273d98b0f783
Author: YimingWu
Date: Mon Jul 8 16:24:35 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB2a15303a8f65ece2ad7411578fe2273d98b0f783
LANPR: GPU mode now supports all three usage flags in objects and collections.
===================================================================
M source/blender/draw/engines/lanpr/lanpr_engine.c
===================================================================
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 937145e3c71..8a0f3ca12be 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -451,6 +451,7 @@ static void lanpr_cache_populate(void *vedata, Object *ob)
const DRWContextState *draw_ctx = DRW_context_state_get();
View3D *v3d = draw_ctx->v3d;
SceneLANPR *lanpr = &draw_ctx->scene->lanpr;
+ int usage, dpix_ok;
if (!DRW_object_is_renderable(ob)) {
return;
@@ -464,15 +465,23 @@ static void lanpr_cache_populate(void *vedata, Object *ob)
struct GPUBatch *geom = DRW_cache_object_surface_get(ob);
if (geom) {
+ if(dpix_ok = (lanpr->master_mode == LANPR_MASTER_MODE_DPIX && lanpr->active_layer &&
+ !lanpr_share.dpix_shader_error)){
+ usage = lanpr_object_collection_usage_check(draw_ctx->scene->master_collection, ob);
+ if(usage == OBJECT_FEATURE_LINE_EXCLUDE){
+ return;
+ }
+ }
DRW_shgroup_call_no_cull(stl->g_data->multipass_shgrp, geom, ob);
}
- if (lanpr->master_mode == LANPR_MASTER_MODE_DPIX && lanpr->active_layer &&
- !lanpr_share.dpix_shader_error) {
- int usage = lanpr_object_collection_usage_check(draw_ctx->scene->master_collection, ob);
- if(usage != OBJECT_FEATURE_LINE_INHERENT){
+ if (dpix_ok) {
+
+ /* usage already set */
+ if(usage == OBJECT_FEATURE_LINE_OCCLUSION_ONLY){
return;
}
+
int idx = pd->begin_index;
if (lanpr->reloaded) {
pd->begin_index = lanpr_feed_atlas_data_obj(vedata,
More information about the Bf-blender-cvs
mailing list