[Bf-blender-cvs] [5c8c64eeae6] temp-lanpr-cleanup: LANPR: Fix assert errors.
YimingWu
noreply at git.blender.org
Thu Sep 12 16:18:37 CEST 2019
Commit: 5c8c64eeae67c66942c575cfe68e8497f6d4ac0c
Author: YimingWu
Date: Thu Sep 12 22:18:13 2019 +0800
Branches: temp-lanpr-cleanup
https://developer.blender.org/rB5c8c64eeae67c66942c575cfe68e8497f6d4ac0c
LANPR: Fix assert errors.
===================================================================
M source/blender/draw/engines/lanpr/lanpr_chain_draw.c
M source/blender/draw/engines/lanpr/lanpr_cpu.c
===================================================================
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain_draw.c b/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
index f036a8940a4..57cb92163cc 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
@@ -160,15 +160,15 @@ void lanpr_chain_generate_draw_command(LANPR_RenderBuffer *rb)
if (rlci == rlc->chain.first) {
if (rlci->next == rlc->chain.last) {
- GPU_indexbuf_add_line_adj_verts(&elb, vert_count, i, i + 1, vert_count);
+ GPU_indexbuf_add_line_adj_verts(&elb, vert_count-1, i, i + 1, vert_count-1);
}
else {
- GPU_indexbuf_add_line_adj_verts(&elb, vert_count, i, i + 1, i + 2);
+ GPU_indexbuf_add_line_adj_verts(&elb, vert_count-1, i, i + 1, i + 2);
}
}
else {
if (rlci->next == rlc->chain.last) {
- GPU_indexbuf_add_line_adj_verts(&elb, i - 1, i, i + 1, vert_count);
+ GPU_indexbuf_add_line_adj_verts(&elb, i - 1, i, i + 1, vert_count-1);
}
else {
GPU_indexbuf_add_line_adj_verts(&elb, i - 1, i, i + 1, i + 2);
diff --git a/source/blender/draw/engines/lanpr/lanpr_cpu.c b/source/blender/draw/engines/lanpr/lanpr_cpu.c
index 2e5771a8ca5..9ca6e002d96 100644
--- a/source/blender/draw/engines/lanpr/lanpr_cpu.c
+++ b/source/blender/draw/engines/lanpr/lanpr_cpu.c
@@ -221,7 +221,7 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR *lanpr = &scene->lanpr;
View3D *v3d = draw_ctx->v3d;
- float indentity_mat[4][4];
+ float indentity_mat[4][4], win_mat[4][4];
static float normal_object_direction[3] = {0, 0, 1};
float use_background_color[4] = {0.0f, 0.0f, 0.0f, 1.0f};
static float camdx, camdy, camzoom;
@@ -253,8 +253,11 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
pd->dpix_viewport[3] = texh;
unit_m4(indentity_mat);
+ copy_m4_m4(win_mat,indentity_mat);
+ /* win_mat needs to be negative */
+ swap_v3_v3(win_mat[0], win_mat[1]);
- DRWView *view = DRW_view_create(indentity_mat, indentity_mat, NULL, NULL, NULL);
+ DRWView *view = DRW_view_create(indentity_mat, win_mat, NULL, NULL, NULL);
if (is_render) {
DRW_view_default_set(view);
}
More information about the Bf-blender-cvs
mailing list