[Bf-blender-cvs] [d5a1c5a4a0d] soc-2018-npr: debugging f12
Nick Wu
noreply at git.blender.org
Wed Jul 4 09:52:40 CEST 2018
Commit: d5a1c5a4a0dfcf633edfa770da2e6a8ac54a2eb5
Author: Nick Wu
Date: Wed Jul 4 15:52:20 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBd5a1c5a4a0dfcf633edfa770da2e6a8ac54a2eb5
debugging f12
===================================================================
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 bc514380939..424ed65d30b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -345,7 +345,7 @@ static void lanpr_cache_init(void *vedata){
BLI_mempool_clear(pd->mp_batch_list);
}
}elif(lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE) {
- psl->software_pass = DRW_pass_create("Software Render Preview", DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_ALWAYS);
+ psl->software_pass = DRW_pass_create("Software Render Preview", DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL);
LANPR_LineLayer* ll;
for (ll = lanpr->line_layers.first; ll; ll = ll->next) {
ll->shgrp = DRW_shgroup_create(OneTime.software_shader, psl->software_pass);
@@ -444,7 +444,7 @@ static void lanpr_draw_scene_exec(void *vedata, GPUFrameBuffer* dfb) {
LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
LANPR_FramebufferList *fbl = ((LANPR_Data *)vedata)->fbl;
- float clear_col[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
+ float clear_col[4] = { 1.0f, 0.0f, 0.0f, 1.0f };
float clear_depth = 1.0f;
uint clear_stencil = 0xFF;
@@ -477,8 +477,11 @@ static void lanpr_draw_scene_exec(void *vedata, GPUFrameBuffer* dfb) {
//DRW_draw_pass(psl->color_pass);
GPU_framebuffer_bind(fbl->software_ms);
- // almost forgot
- GPU_framebuffer_clear(fbl->software_ms, clear_bits, lanpr->background_color, clear_depth, clear_stencil);
+
+ //this line works weird in viewport render
+ GPU_framebuffer_clear(fbl->software_ms, clear_bits, clear_col, clear_depth, clear_stencil);
+
+ DRW_draw_pass(psl->color_pass);
DRW_draw_pass(psl->software_pass);
GPU_framebuffer_bind(dfb);
@@ -535,6 +538,14 @@ static void lanpr_render_to_image(LANPR_Data *vedata, RenderEngine *engine, stru
DRW_render_object_iter(vedata, engine, draw_ctx->depsgraph, LANPR_render_cache);
lanpr_cache_finish(vedata);
+ float clear_col[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
+ float clear_depth = 1.0f;
+ uint clear_stencil = 0xFF;
+ GPUFrameBufferBits clear_bits = GPU_DEPTH_BIT | GPU_COLOR_BIT;
+
+ GPU_framebuffer_bind(dfbl->default_fb);
+ GPU_framebuffer_clear(dfbl->default_fb, clear_bits, clear_col, clear_depth, clear_stencil);
+
lanpr_draw_scene_exec(vedata, dfbl->default_fb);
// read it back so we can again display and save it.
More information about the Bf-blender-cvs
mailing list