[Bf-blender-cvs] [644cd00d1a6] soc-2018-npr: Merge branch 'blender2.8' of git://git.blender.org/blender

2018-12-27 Thread Nick Wu
Commit: 644cd00d1a647eb1e55263722997544a1a2cc91e
Author: Nick Wu
Date:   Mon Apr 30 08:58:47 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB644cd00d1a647eb1e55263722997544a1a2cc91e

Merge branch 'blender2.8' of git://git.blender.org/blender

===



===

diff --cc source/blender/editors/interface/interface_draw.c
index 7583dc654bb,97491d365b7..11cbc448713
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@@ -825,13 -1108,13 +1108,13 @@@ static float polar_to_y(float center, f
return center + diam * ampli * sinf(angle);
  }
  
- static void vectorscope_draw_target(float centerx, float centery, float diam, 
const float colf[3])
+ static void vectorscope_draw_target(unsigned int pos, float centerx, float 
centery, float diam, const float colf[3])
  {
float y, u, v;
-   float tangle = 0.f, tampli;
+   float tangle = 0.0f, tampli;
float dangle, dampli, dangle2, dampli2;
  
 -  rgb_to_yuv(colf[0], colf[1], colf[2], , , );
 +  rgb_to_yuv(colf[0], colf[1], colf[2], , , , BLI_YUV_ITU_BT709);
if (u > 0 && v >= 0) tangle = atanf(v / u);
else if (u > 0 && v < 0) tangle = atanf(v / u) + 2.0f * (float)M_PI;
else if (u < 0) tangle = atanf(v / u) + (float)M_PI;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [61d3c1261c5] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-12-27 Thread Nick Wu
Commit: 61d3c1261c5d9e40c41ae540b83952e411670fe8
Author: Nick Wu
Date:   Sun Dec 23 19:09:42 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB61d3c1261c5d9e40c41ae540b83952e411670fe8

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [54443b6d900] soc-2018-npr: Fix merge errors.

2018-12-08 Thread Nick Wu
Commit: 54443b6d900bd3ebd4dd848c0e2f94ba95f8cdad
Author: Nick Wu
Date:   Sat Dec 8 22:55:29 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB54443b6d900bd3ebd4dd848c0e2f94ba95f8cdad

Fix merge errors.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/makesrna/intern/rna_scene.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 28cd6374e11..b2cd913842f 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3614,7 +3614,7 @@ void SCENE_OT_lanpr_delete_line_component(struct 
wmOperatorType *ot) {
RNA_def_int(ot->srna, "index", 0, 0, 1, "index", "index of this 
line component", 0, 1);
 }
 
-#ifdef 0
+#ifdef USE_LANPR_HINT
 
 // how to access LANPR's occlusion info after LANPR software mode calculation
 
diff --git a/source/blender/makesrna/intern/rna_scene.c 
b/source/blender/makesrna/intern/rna_scene.c
index 659d312b234..04addd128c2 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -2093,6 +2093,7 @@ static void rna_unit_system_update(Main *UNUSED(bmain), 
Scene *scene, PointerRNA
 static char *rna_UnitSettings_path(PointerRNA *UNUSED(ptr))
 {
return BLI_sprintfN("unit_settings");
+}
 
 /* lanpr */
 
@@ -6874,4 +6875,4 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_api_scene(srna);
 }
 
-#endif
+#endif
\ No newline at end of file

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [a1a526e5576] soc-2018-npr: added example functions for accessing LANPR occlusion data

2018-11-26 Thread Nick Wu
Commit: a1a526e5576384aade7aec3d66ed00886911d337
Author: Nick Wu
Date:   Mon Nov 26 21:47:11 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBa1a526e5576384aade7aec3d66ed00886911d337

added example functions for accessing LANPR occlusion data

===

M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 236df7e7324..f1bdaeefa74 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -418,4 +418,4 @@ void lanpr_chain_generate_draw_command(LANPR_RenderBuffer 
*rb){
if (rb->ChainDrawBatch) GPU_batch_discard(rb->ChainDrawBatch);
rb->ChainDrawBatch = GPU_batch_create_ex(GPU_PRIM_LINES_ADJ, vbo, 
GPU_indexbuf_build(), GPU_USAGE_DYNAMIC | GPU_BATCH_OWNS_VBO);
 
-}
\ No newline at end of file
+}
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 839bfa29d5b..28cd6374e11 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3614,3 +3614,116 @@ void SCENE_OT_lanpr_delete_line_component(struct 
wmOperatorType *ot) {
RNA_def_int(ot->srna, "index", 0, 0, 1, "index", "index of this 
line component", 0, 1);
 }
 
+#ifdef 0
+
+// how to access LANPR's occlusion info after LANPR software mode calculation
+
+// You can access descrete occlusion data from every edge,
+// but you can also access occlusion using LANPR's chain data.
+// Two examples are given.
+
+// [1.descrete occlusion data for 
edges]==
+//
+// LANPR occlusion related data storage :
+//
+// LANPR_RenderBuffer :: AllRenderLines   >  All LANPR_RenderLine nodes. 
Each node for a singe edge on the mesh.
+//   Only features lines are in 
this list.
+//   LANPR_RenderLine stores a 
list of occlusion info in LANPR_RenderLineSegment.
+//
+// LANPR_RenderBuffer :: Contours (and 
Crease/MaterialLines/Intersections/EdgeMarks)
+//>  ListItemPointers to 
LANPR_RenderLine nodes.
+//   Use these lists to access 
individual line types for convenience.
+//   For how to access this list, 
refer to this file line 728-730 as an example.
+//
+// LANPR_RenderLine :: Segments   >  List of 
LANPR_RenderLineSegment to represent occlusion info.
+//   See below for how occlusion 
is reoresented in Renderline and RenderLineSegment.
+//
+//  RenderLine Diagram:
+//+[RenderLine]
+//   [Segments]
+// [Segment]  at=0  occlusion_level=0
+// [Segment]  at=0.5occlusion_level=1
+// [Segment]  at=0.7occlusion_level=0
+//
+//  Then you get a line with such occlusion:
+//  [L]|-|=|---[R]
+//
+//  the beginning to 50% of the line :   Not occluded
+//  50% to 70% of the line : Occluded 1 time
+//  70% to the end of the line : Not occluded
+//
+//  cut positions are linear interpolated in image space from 
line->L->FrameBufferCoord to line->R->FrameBufferCoord (always L to R)
+//~~~~~~
+//  to see an example of iterating occlusion data for all lines for drawing, 
see below or refer to this file line 2930.
+//
+//  [Iterating occlusion data]
+void lanpr_iterate_renderline_and_occlusion(LANPR_RenderBuffer *rb, double* 
V_OUT, double Occ_OUT) {
+   nListItemPointer *lip;
+   LANPR_RenderLine *rl;
+   LANPR_RenderLineSegment *rls, *irls;
+   double *V = V_Out;
+   double *O = Occ_OUT;
+
+   for (rl = rb->AllRenderLines->first; rl; rl = lip->pNext) {
+   for (rls = rl->Segments.first; rls; rls = rls->Item.pNext) {
+
+   irls = rls->Item.pNext;
+
+   //safety reasons
+   CLAMP(rls->at, 0, 1);
+   if (irls)CLAMP(irls->at, 0, 1);
+
+   //segment begin at some X and Y 
+   //tnsLinearItp() is a linear interpolate function.
+   *V = tnsLinearItp(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], rls->at); V++;
+   *V = tnsLinearItp(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], rls->at); V++;
+   *O = rls->Occlusi

[Bf-blender-cvs] [e4d987d7fbf] soc-2018-npr: Added temporary contour bypass for smooth contour modifier build.

2018-11-26 Thread Nick Wu
Commit: e4d987d7fbf886e9ba1040a8d640574a16cd1cf3
Author: Nick Wu
Date:   Mon Nov 26 20:17:49 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBe4d987d7fbf886e9ba1040a8d640574a16cd1cf3

Added temporary contour bypass for smooth contour modifier build.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index d0c90ed1d40..839bfa29d5b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -53,6 +53,7 @@ struct Object;
 
 int lanpr_triangle_line_imagespace_intersection_v2(SpinLock *spl, 
LANPR_RenderTriangle *rt, LANPR_RenderLine *rl, Object *cam, tnsMatrix44d vp, 
real *CameraDir, double *From, double *To);
 
+int use_smooth_contour_modifier_contour = 1; // debug purpose
 
 /* == base structures 
=== */
 
@@ -1707,6 +1708,11 @@ void lanpr_make_render_geometry_buffers_object(Object 
*o, real *MVMat, real *MVP
fe = CustomData_bmesh_get(>edata, 
e->head.data, CD_FREESTYLE_EDGE);
if (fe->flag & FREESTYLE_EDGE_MARK) rl->Flags 
|= LANPR_EDGE_FLAG_EDGE_MARK;
}
+   if (use_smooth_contour_modifier_contour) {
+   if (BM_elem_flag_test(e->v1, BM_ELEM_SELECT) && 
BM_elem_flag_test(e->v2, BM_ELEM_SELECT))
+   rl->Flags |= LANPR_EDGE_FLAG_CONTOUR;
+   }
+
rl->L = [BM_elem_index_get(e->v1)];
rl->R = [BM_elem_index_get(e->v2)];
LANPR_RenderLineSegment *rls = 
mem_static_aquire(>RenderDataPool, sizeof(LANPR_RenderLineSegment));
@@ -2618,11 +2624,15 @@ void lanpr_compute_scene_contours(LANPR_RenderBuffer 
*rb, float threshold) {
tMatVectorMinus3d(ViewVector, rl->L->GLocation, 
cam_location);
}
 
-   if (rl->TL) Dot1 = tmat_dot_3d(ViewVector, rl->TL->GN, 0); else 
Add = 1;
-   if (rl->TR) Dot2 = tmat_dot_3d(ViewVector, rl->TR->GN, 0); else 
Add = 1;
+   if (use_smooth_contour_modifier_contour) {
+   if (rl->Flags & LANPR_EDGE_FLAG_CONTOUR) Add = 1;
+   }else {
+   if (rl->TL) Dot1 = tmat_dot_3d(ViewVector, rl->TL->GN, 
0); else Add = 1;
+   if (rl->TR) Dot2 = tmat_dot_3d(ViewVector, rl->TR->GN, 
0); else Add = 1;
+   }
 
if (!Add) {
-   if ((Result = Dot1 * Dot2) <= 0) Add = 1;
+   if ((Result = Dot1 * Dot2) <= 0 && (Dot1 + Dot2)) Add = 
1;
elif(tmat_dot_3d(rl->TL->GN, rl->TR->GN, 0) < 
threshold) Add = 2;
elif(rl->TL && rl->TR && rl->TL->MaterialID != 
rl->TR->MaterialID) Add = 3;
}

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [3c7da86849f] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: 3c7da86849fecfe099b07b9f9a9869cb57111b3f
Author: Nick Wu
Date:   Mon Nov 19 12:51:52 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3c7da86849fecfe099b07b9f9a9869cb57111b3f

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib
#   source/blender/makesdna/DNA_lamp_types.h

===



===

diff --cc source/blender/makesdna/DNA_lamp_types.h
index c40ffea0015,d035e0c5440..5a551f602a2
--- a/source/blender/makesdna/DNA_lamp_types.h
+++ b/source/blender/makesdna/DNA_lamp_types.h
@@@ -98,21 -98,21 +98,21 @@@ typedef struct Lamp 
  /*  LAMP * */
  
  /* flag */
 -#define LA_DS_EXPAND  1
 -  /* NOTE: this must have the same value as MA_DS_SHOW_TEXS,
 -   * otherwise anim-editors will not read correctly
 -   */
 -#define LA_DS_SHOW_TEXS   4
 +#define LA_DS_EXPAND1
 +/* NOTE: this must have the same value as MA_DS_SHOW_TEXS,
 + * otherwise anim-editors will not read correctly
 + */
 +#define LA_DS_SHOW_TEXS 4
  
  /* type */
 -#define LA_LOCAL  0
 -#define LA_SUN1
 -#define LA_SPOT   2
 +#define LA_LOCAL0
 +#define LA_SUN  1
 +#define LA_SPOT 2
- #define LA_HEMI 3
+ /* #define LA_HEMI3 */ /* not used anymore */
 -#define LA_AREA   4
 +#define LA_AREA 4
  
  /* mode */
 -#define LA_SHADOW (1 << 0)
 +#define LA_SHADOW   (1 << 0)
  /* #define LA_HALO(1 << 1) */ /* not used anymore */
  /* #define LA_LAYER   (1 << 2) */ /* not used anymore */
  /* #define LA_QUAD(1 << 3) */ /* not used anymore */
@@@ -134,21 -134,22 +134,22 @@@
  #define LA_SHOW_CONE(1 << 17)
  /* #define LA_SHOW_SHADOW_BOX (1 << 18) */
  #define LA_SHAD_CONTACT (1 << 19)
+ #define LA_CUSTOM_ATTENUATION (1 << 20)
  
  /* falloff_type */
 -#define LA_FALLOFF_CONSTANT   0
 -#define LA_FALLOFF_INVLINEAR  1
 -#define LA_FALLOFF_INVSQUARE  2
 -#define LA_FALLOFF_CURVE  3
 -#define LA_FALLOFF_SLIDERS4
 -#define LA_FALLOFF_INVCOEFFICIENTS5
 +#define LA_FALLOFF_CONSTANT 0
 +#define LA_FALLOFF_INVLINEAR1
 +#define LA_FALLOFF_INVSQUARE2
 +#define LA_FALLOFF_CURVE3
 +#define LA_FALLOFF_SLIDERS  4
 +#define LA_FALLOFF_INVCOEFFICIENTS  5
  
  /* area shape */
 -#define LA_AREA_SQUARE0
 -#define LA_AREA_RECT  1
 -#define LA_AREA_CUBE  2
 -#define LA_AREA_BOX   3
 -#define LA_AREA_DISK  4
 -#define LA_AREA_ELLIPSE   5
 +#define LA_AREA_SQUARE  0
 +#define LA_AREA_RECT1
 +#define LA_AREA_CUBE2
 +#define LA_AREA_BOX 3
 +#define LA_AREA_DISK4
 +#define LA_AREA_ELLIPSE 5
  
  #endif /* __DNA_LAMP_TYPES_H__ */
diff --cc source/blender/makesdna/DNA_scene_types.h
index dcd23819f53,c1ced30169b..900567e5c9b
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -1508,71 -1508,9 +1508,71 @@@ typedef struct SceneEEVEE 
char light_cache_info[64];
  
float overscan;
-   float pad;
+   float light_threshold;
  } SceneEEVEE;
  
 +
 +/* LANPR Global Config */
 +
 +struct LANPR_RenderBuffer;
 +struct LANPR_LineLayer;
 +
 +typedef struct SceneLANPR {
 +
 +  int master_mode;
 +
 +  int enable_vector_trace;
 +  int display_thinning_result;
 +
 +  //int SizeCompensate;
 +
 +  float depth_clamp;
 +  float depth_strength;
 +  float normal_clamp;
 +  float normal_strength;
 +
 +  float line_thickness;
 +
 +  int use_same_taper;
 +  float taper_left_distance;
 +  float taper_left_strength;
 +  float taper_right_distance;
 +  float taper_right_strength;
 +
 +  int enable_tip_extend;
 +  float extend_length;
 +
 +  int snake_sensitivity;
 +
 +  /* shared */
 +
 +  float contour_fade;  /* for dpix contour fading,reserved for 
future usage */
 +  float crease_threshold;  /* 0-1 range for cosine angle */
 +  float crease_fade_threshold; /* for dpix crease fading */
 +
 +  float line_color[4];
 +  float background_color[4];
 +
 +  float depth_width_influence;
 +  float depth_width_curve;
 +  float depth_alpha_influence;
 +  float depth_alpha_curve;
 +
 +  /* states (needs optimization) */
 +
 +  int reloaded;
 +
 +  /* offline render */
 +
 +  struct LANPR_RenderBuffer *render_buffer;  /* created when needed. 
for offline rendering */
 +  ListBase line_layers;/* now here!!! */
 +  struct LANPR_LineLayer*active_layer;
 +
 +  int enable_interse

[Bf-blender-cvs] [c94b494f20d] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: c94b494f20de24f8fbecd97b324a5739bdf02970
Author: Nick Wu
Date:   Mon Nov 26 20:15:13 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBc94b494f20de24f8fbecd97b324a5739bdf02970

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib
#   source/blender/makesdna/DNA_scene_types.h
#   source/blender/makesrna/intern/rna_scene.c
#   source/tools

===



===

diff --cc source/blender/makesdna/DNA_scene_types.h
index 900567e5c9b,7ab4187de1a..fe2dc62a43e
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -1857,35 -1794,52 +1859,52 @@@ extern const char *RE_engine_id_CYCLES
  /* Current precision is 16 for the sub-frames closer to MAXFRAME. */
  
  /* for general use */
 -#define MAXFRAME  1048574
 -#define MAXFRAMEF 1048574.0f
 +#define MAXFRAME1048574
 +#define MAXFRAMEF   1048574.0f
  
 -#define MINFRAME  0
 -#define MINFRAMEF 0.0f
 +#define MINFRAME0
 +#define MINFRAMEF   0.0f
  
  /* (minimum frame number for current-frame) */
 -#define MINAFRAME -1048574
 -#define MINAFRAMEF-1048574.0f
 +#define MINAFRAME   -1048574
 +#define MINAFRAMEF  -1048574.0f
  
  /* deprecate this! */
- #define TESTBASE(base)  ( 
\
+ #define TESTBASE(v3d, base)  (
\
+   (((v3d)->localvd == NULL) || ((v3d)->local_view_uuid & 
(base)->local_view_bits)) && \
+   (((1 << (base)->object->type) & (v3d)->object_type_exclude_viewport) == 
0) && \
 -  (((base)->flag & BASE_SELECTED) != 0) &&
  \
 -  (((base)->flag & BASE_VISIBLE) != 0))
 +  (((base)->flag & BASE_SELECTED) != 0) &&
  \
 +  (((base)->flag & BASE_VISIBLE) != 0))
- #define TESTBASELIB(base)  (  
\
+ #define TESTBASELIB(v3d, base)  ( 
\
+   (((v3d)->localvd == NULL) || ((v3d)->local_view_uuid & 
(base)->local_view_bits)) && \
+   (((1 << (base)->object->type) & (v3d)->object_type_exclude_viewport) == 
0) && \
 -  (((base)->flag & BASE_SELECTED) != 0) &&
  \
 -  ((base)->object->id.lib == NULL) && 
  \
 -  (((base)->flag & BASE_VISIBLE) != 0))
 +  (((base)->flag & BASE_SELECTED) != 0) &&
  \
 +  ((base)->object->id.lib == NULL) && 
  \
 +  (((base)->flag & BASE_VISIBLE) != 0))
- #define TESTBASELIB_BGMODE(base)  (   
\
+ #define TESTBASELIB_BGMODE(v3d, base)  (  
\
+   ((v3d == NULL) || ((v3d)->localvd == NULL) || ((v3d)->local_view_uuid & 
(base)->local_view_bits)) && \
+   ((v3d == NULL) || (((1 << (base)->object->type) & 
(v3d)->object_type_exclude_viewport) == 0)) && \
 -  (((base)->flag & BASE_SELECTED) != 0) &&
  \
 -  ((base)->object->id.lib == NULL) && 
  \
 -  (((base)->flag & BASE_VISIBLE) != 0))
 +  (((base)->flag & BASE_SELECTED) != 0) &&
  \
 +  ((base)->object->id.lib == NULL) && 
  \
 +  (((base)->flag & BASE_VISIBLE) != 0))
- #define BASE_EDITABLE_BGMODE(base)  ( 
\
+ #define BASE_EDITABLE_BGMODE(v3d, base)  (
\
+   ((v3d == NULL) || ((v3d)->localvd == NULL) || ((v3d)->local_view_uuid & 
(base)->local_view_bits)) && \
+   ((v3d == NULL) || (((1 << (base)->object->type) & 
(v3d)->object_type_exclude_viewport) == 0)) && \
 -  ((base)->object->id.lib == NULL) && 
  \
 -  (((base)->flag & BASE_VISIBLE) != 0))
 +  ((base)->object->id.lib == NULL) && 
  \
 +  (((base)->flag & BASE_VISIBLE) != 0))
- #define BASE_SELECTABLE(base) 
\
-   (((base)->flag & BASE_SELECTABLE) != 0)
- #define BASE_VISIBLE(base)  (  

[Bf-blender-cvs] [821aa86d987] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: 821aa86d98784a529bc80820d7e7164a04eb2fce
Author: Nick Wu
Date:   Wed Nov 14 11:32:17 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB821aa86d98784a529bc80820d7e7164a04eb2fce

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/startup/bl_ui/properties_scene.py

===



===

diff --cc source/blender/makesdna/DNA_scene_types.h
index 27d499a5cba,d235cef1109..e6d38cc03ad
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -1485,70 -1506,11 +1506,73 @@@ typedef struct SceneEEVEE 
  
struct LightCache *light_cache;
char light_cache_info[64];
+ 
+   float overscan;
+   float pad;
  } SceneEEVEE;
  
 +
 +/* LANPR Global Config */
 +
 +struct LANPR_RenderBuffer;
 +struct LANPR_LineLayer;
 +
 +typedef struct SceneLANPR {
 +
 +  int master_mode;
 +
 +  int enable_vector_trace;
 +  int display_thinning_result;
 +
 +  //int SizeCompensate;
 +
 +  float depth_clamp;
 +  float depth_strength;
 +  float normal_clamp;
 +  float normal_strength;
 +
 +  float line_thickness;
 +
 +  int use_same_taper;
 +  float taper_left_distance;
 +  float taper_left_strength;
 +  float taper_right_distance;
 +  float taper_right_strength;
 +
 +  int enable_tip_extend;
 +  float extend_length;
 +
 +  int snake_sensitivity;
 +
 +  /* shared */
 +
 +  float contour_fade;  /* for dpix contour fading,reserved for 
future usage */
 +  float crease_threshold;  /* 0-1 range for cosine angle */
 +  float crease_fade_threshold; /* for dpix crease fading */
 +
 +  float line_color[4];
 +  float background_color[4];
 +
 +  float depth_width_influence;
 +  float depth_width_curve;
 +  float depth_alpha_influence;
 +  float depth_alpha_curve;
 +
 +  /* states (needs optimization) */
 +
 +  int reloaded;
 +
 +  /* offline render */
 +
 +  struct LANPR_RenderBuffer *render_buffer;  /* created when needed. 
for offline rendering */
 +  ListBase line_layers;/* now here!!! */
 +  struct LANPR_LineLayer*active_layer;
 +
 +  int enable_intersections;
 +  int enable_chaining;
 +
 +} SceneLANPR;
 +
  /* *** */
  /* Scene ID-Block */
  
@@@ -2236,27 -2196,28 +2261,28 @@@ typedef enum eGPencil_Selectmode_types 
  
  /* SceneEEVEE->flag */
  enum {
 -  SCE_EEVEE_VOLUMETRIC_ENABLED= (1 << 0),
 -  SCE_EEVEE_VOLUMETRIC_LIGHTS = (1 << 1),
 -  SCE_EEVEE_VOLUMETRIC_SHADOWS= (1 << 2),
 +  SCE_EEVEE_VOLUMETRIC_ENABLED= (1 << 0),
 +  SCE_EEVEE_VOLUMETRIC_LIGHTS = (1 << 1),
 +  SCE_EEVEE_VOLUMETRIC_SHADOWS= (1 << 2),
  //SCE_EEVEE_VOLUMETRIC_COLORED= (1 << 3), /* Unused */
 -  SCE_EEVEE_GTAO_ENABLED  = (1 << 4),
 -  SCE_EEVEE_GTAO_BENT_NORMALS = (1 << 5),
 -  SCE_EEVEE_GTAO_BOUNCE   = (1 << 6),
 -  SCE_EEVEE_DOF_ENABLED   = (1 << 7),
 -  SCE_EEVEE_BLOOM_ENABLED = (1 << 8),
 -  SCE_EEVEE_MOTION_BLUR_ENABLED   = (1 << 9),
 -  SCE_EEVEE_SHADOW_HIGH_BITDEPTH  = (1 << 10),
 -  SCE_EEVEE_TAA_REPROJECTION  = (1 << 11),
 -  SCE_EEVEE_SSS_ENABLED   = (1 << 12),
 -  SCE_EEVEE_SSS_SEPARATE_ALBEDO   = (1 << 13),
 -  SCE_EEVEE_SSR_ENABLED   = (1 << 14),
 -  SCE_EEVEE_SSR_REFRACTION= (1 << 15),
 -  SCE_EEVEE_SSR_HALF_RESOLUTION   = (1 << 16),
 -  SCE_EEVEE_SHOW_IRRADIANCE   = (1 << 17),
 -  SCE_EEVEE_SHOW_CUBEMAPS = (1 << 18),
 -  SCE_EEVEE_GI_AUTOBAKE   = (1 << 19),
 +  SCE_EEVEE_GTAO_ENABLED  = (1 << 4),
 +  SCE_EEVEE_GTAO_BENT_NORMALS = (1 << 5),
 +  SCE_EEVEE_GTAO_BOUNCE   = (1 << 6),
 +  SCE_EEVEE_DOF_ENABLED   = (1 << 7),
 +  SCE_EEVEE_BLOOM_ENABLED = (1 << 8),
 +  SCE_EEVEE_MOTION_BLUR_ENABLED   = (1 << 9),
 +  SCE_EEVEE_SHADOW_HIGH_BITDEPTH  = (1 << 10),
 +  SCE_EEVEE_TAA_REPROJECTION  = (1 << 11),
 +  SCE_EEVEE_SSS_ENABLED   = (1 << 12),
 +  SCE_EEVEE_SSS_SEPARATE_ALBEDO   = (1 << 13),
 +  SCE_EEVEE_SSR_ENABLED   = (1 << 14),
 +  SCE_EEVEE_SSR_REFRACTION= (1 << 15),
 +  SCE_EEVEE_SSR_HALF_RESOLUTION   = (1 << 16),
 +  SCE_EEVEE_SHOW_IRRADIANCE   = (1 << 17),
 +  SCE_EEVEE_SHOW_CUBEMAPS = (1 << 18)

[Bf-blender-cvs] [13a654d0f3f] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: 13a654d0f3f33a6da9e59cbe10911978a70fb49c
Author: Nick Wu
Date:   Wed Nov 14 11:34:27 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB13a654d0f3f33a6da9e59cbe10911978a70fb49c

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b77c6a859ec] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: b77c6a859ec62139e079003b0ac2a4458620d521
Author: Nick Wu
Date:   Wed Oct 31 13:45:08 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBb77c6a859ec62139e079003b0ac2a4458620d521

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib
#   source/blender/makesdna/DNA_scene_types.h
#   source/tools

===



===

diff --cc source/blender/makesdna/DNA_scene_types.h
index c38e2b1d629,9045fb4353d..27d499a5cba
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -2236,26 -2171,27 +2236,27 @@@ typedef enum eGPencil_Selectmode_types 
  
  /* SceneEEVEE->flag */
  enum {
 -  SCE_EEVEE_VOLUMETRIC_ENABLED= (1 << 0),
 -  SCE_EEVEE_VOLUMETRIC_LIGHTS = (1 << 1),
 -  SCE_EEVEE_VOLUMETRIC_SHADOWS= (1 << 2),
 +  SCE_EEVEE_VOLUMETRIC_ENABLED= (1 << 0),
 +  SCE_EEVEE_VOLUMETRIC_LIGHTS = (1 << 1),
 +  SCE_EEVEE_VOLUMETRIC_SHADOWS= (1 << 2),
  //SCE_EEVEE_VOLUMETRIC_COLORED= (1 << 3), /* Unused */
 -  SCE_EEVEE_GTAO_ENABLED  = (1 << 4),
 -  SCE_EEVEE_GTAO_BENT_NORMALS = (1 << 5),
 -  SCE_EEVEE_GTAO_BOUNCE   = (1 << 6),
 -  SCE_EEVEE_DOF_ENABLED   = (1 << 7),
 -  SCE_EEVEE_BLOOM_ENABLED = (1 << 8),
 -  SCE_EEVEE_MOTION_BLUR_ENABLED   = (1 << 9),
 -  SCE_EEVEE_SHADOW_HIGH_BITDEPTH  = (1 << 10),
 -  SCE_EEVEE_TAA_REPROJECTION  = (1 << 11),
 -  SCE_EEVEE_SSS_ENABLED   = (1 << 12),
 -  SCE_EEVEE_SSS_SEPARATE_ALBEDO   = (1 << 13),
 -  SCE_EEVEE_SSR_ENABLED   = (1 << 14),
 -  SCE_EEVEE_SSR_REFRACTION= (1 << 15),
 -  SCE_EEVEE_SSR_HALF_RESOLUTION   = (1 << 16),
 -  SCE_EEVEE_SHOW_IRRADIANCE   = (1 << 17),
 -  SCE_EEVEE_SHOW_CUBEMAPS = (1 << 18),
 -  SCE_EEVEE_GI_AUTOBAKE   = (1 << 19),
 +  SCE_EEVEE_GTAO_ENABLED  = (1 << 4),
 +  SCE_EEVEE_GTAO_BENT_NORMALS = (1 << 5),
 +  SCE_EEVEE_GTAO_BOUNCE   = (1 << 6),
 +  SCE_EEVEE_DOF_ENABLED   = (1 << 7),
 +  SCE_EEVEE_BLOOM_ENABLED = (1 << 8),
 +  SCE_EEVEE_MOTION_BLUR_ENABLED   = (1 << 9),
 +  SCE_EEVEE_SHADOW_HIGH_BITDEPTH  = (1 << 10),
 +  SCE_EEVEE_TAA_REPROJECTION  = (1 << 11),
 +  SCE_EEVEE_SSS_ENABLED   = (1 << 12),
 +  SCE_EEVEE_SSS_SEPARATE_ALBEDO   = (1 << 13),
 +  SCE_EEVEE_SSR_ENABLED   = (1 << 14),
 +  SCE_EEVEE_SSR_REFRACTION= (1 << 15),
 +  SCE_EEVEE_SSR_HALF_RESOLUTION   = (1 << 16),
 +  SCE_EEVEE_SHOW_IRRADIANCE   = (1 << 17),
 +  SCE_EEVEE_SHOW_CUBEMAPS = (1 << 18),
 +  SCE_EEVEE_GI_AUTOBAKE   = (1 << 19),
+   SCE_EEVEE_SHADOW_SOFT   = (1 << 20),
  };
  
  /* SceneEEVEE->shadow_method */
diff --cc source/blender/makesrna/RNA_access.h
index 66eb3c65feb,ad193eecbe8..853bb3e58c4
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@@ -495,15 -508,13 +509,14 @@@ extern StructRNA RNA_RenderLayer
  extern StructRNA RNA_RenderPass;
  extern StructRNA RNA_RenderResult;
  extern StructRNA RNA_RenderSettings;
- extern StructRNA RNA_RenderEngineSettings;
- extern StructRNA RNA_RenderEngineSettingsClay;
- extern StructRNA RNA_RigidBodyWorld;
- extern StructRNA RNA_RigidBodyObject;
  extern StructRNA RNA_RigidBodyJointConstraint;
+ extern StructRNA RNA_RigidBodyObject;
+ extern StructRNA RNA_RigidBodyWorld;
  extern StructRNA RNA_SPHFluidSettings;
  extern StructRNA RNA_Scene;
+ extern StructRNA RNA_SceneDisplay;
  extern StructRNA RNA_SceneEEVEE;
 +extern StructRNA RNA_SceneLANPR;
  extern StructRNA RNA_SceneObjects;
  extern StructRNA RNA_SceneRenderLayer;
  extern StructRNA RNA_SceneSequence;
diff --cc source/blender/makesrna/intern/rna_scene.c
index f0b03c6fae0,46f29267929..8f10b28ea8a
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -6072,264 -6010,14 +6068,270 @@@ static void rna_def_scene_eevee(Blender
RNA_def_property_boolean_default(prop, 0);
RNA_def_property_ui_text(prop, "High Bitdepth", "Use 32bit shadows");
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_STATIC);
+ 
+   prop = RNA_def_property(srna, "use_soft_shadows", PROP_BOOLEAN, 
PROP_NONE);
+   RNA_def_property_boolean_sdna(prop, NULL, "flag&qu

[Bf-blender-cvs] [fc650ae86a8] soc-2018-npr: Make ui work under new api.

2018-11-26 Thread Nick Wu
Commit: fc650ae86a8b60c6e91fb36078b3256952947d76
Author: Nick Wu
Date:   Wed Nov 7 22:37:14 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBfc650ae86a8b60c6e91fb36078b3256952947d76

Make ui work under new api.

===

M   release/scripts/startup/bl_ui/properties_scene.py

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index 3e914db5e5c..b2f1558bcb8 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -655,16 +655,16 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 col = split.column()
 col.label(text="Layer Composition:")
 col = split.column()
-col.operator("scene.lanpr_auto_create_line_layer", text = 
"Default", icon = "ZOOMIN")
+col.operator("scene.lanpr_auto_create_line_layer", text = 
"Default")#, icon = "ZOOMIN")
 layout.template_list("LANPR_linesets", "", lanpr, "layers", 
lanpr.layers, "active_layer_index", rows=4)
 if active_layer:
 split = layout.split()
 col = split.column()
-col.operator("scene.lanpr_add_line_layer", icon="ZOOMIN")
-col.operator("scene.lanpr_delete_line_layer", 
icon="ZOOMOUT")
+col.operator("scene.lanpr_add_line_layer")#icon="ZOOMIN")
+col.operator("scene.lanpr_delete_line_layer")#, 
icon="ZOOMOUT")
 col = split.column()
-col.operator("scene.lanpr_move_line_layer", 
icon="TRIA_UP").direction = "UP"
-col.operator("scene.lanpr_move_line_layer", 
icon="TRIA_DOWN").direction = "DOWN"
+col.operator("scene.lanpr_move_line_layer").direction = 
"UP"
+col.operator("scene.lanpr_move_line_layer").direction = 
"DOWN"
 layout.operator("scene.lanpr_rebuild_all_commands")
 else:
 layout.operator("scene.lanpr_add_line_layer")
@@ -770,7 +770,7 @@ class SCENE_PT_lanpr_line_components(SceneButtonsPanel, 
Panel):
 lanpr = scene.lanpr
 active_layer = lanpr.layers.active_layer
 
-layout.operator("scene.lanpr_add_line_component", icon = "ZOOMIN")
+layout.operator("scene.lanpr_add_line_component")#, icon = "ZOOMIN")
 
 i=0
 for c in active_layer.components:
@@ -787,7 +787,7 @@ class SCENE_PT_lanpr_line_components(SceneButtonsPanel, 
Panel):
 elif c.component_mode == "COLLECTION":
 cl.prop(c,"collection_select", text = "")
 col = split.column()
-col.operator("scene.lanpr_delete_line_component", text="", icon = 
"ZOOMOUT").index=i
+col.operator("scene.lanpr_delete_line_component", text="").index=i
 i=i+1

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7a34d16d7a1] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: 7a34d16d7a11561de621d0bd16b54a0ffea4d744
Author: Nick Wu
Date:   Sun Oct 21 14:16:32 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7a34d16d7a11561de621d0bd16b54a0ffea4d744

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fc94e46f367] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-11-26 Thread Nick Wu
Commit: fc94e46f367abfbe8cc58c2f0dbe93292c348cbc
Author: Nick Wu
Date:   Thu Oct 25 17:54:30 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBfc94e46f367abfbe8cc58c2f0dbe93292c348cbc

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8ae40f4fcb5] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-10-19 Thread Nick Wu
Commit: 8ae40f4fcb571818ac83325ecedfe051e82b0c15
Author: Nick Wu
Date:   Wed Sep 19 22:24:36 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB8ae40f4fcb571818ac83325ecedfe051e82b0c15

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [6a638e95551] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr, also fix errors in modifier code.

2018-10-19 Thread Nick Wu
Commit: 6a638e95551bdc4d0310b392b39b8a7d8eed6517
Author: Nick Wu
Date:   Sat Oct 20 13:05:21 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB6a638e95551bdc4d0310b392b39b8a7d8eed6517

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr, 
also fix errors in modifier code.

# Conflicts:
#   release/scripts/startup/bl_ui/properties_data_camera.py
#   release/scripts/startup/bl_ui/properties_data_speaker.py
#   release/scripts/startup/bl_ui/properties_render.py
#   release/scripts/startup/bl_ui/properties_scene.py
#   source/blender/makesrna/intern/rna_scene.c

===



===

diff --cc release/scripts/startup/bl_ui/properties_data_camera.py
index 7c4a3770b41,0e3ee0e3044..9862013f08b
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@@ -181,7 -181,8 +181,8 @@@ class DATA_PT_camera_stereoscopy(Camera
  
  class DATA_PT_camera(CameraButtonsPanel, Panel):
  bl_label = "Camera"
 +COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
+ bl_options = {'DEFAULT_CLOSED'}
 -COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
  
  def draw_header_preset(self, context):
  CAMERA_PT_presets.draw_panel_header(self.layout)
diff --cc release/scripts/startup/bl_ui/properties_scene.py
index 4962a5c7626,47f6c7662b1..3e914db5e5c
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@@ -74,7 -74,8 +74,8 @@@ class SCENE_PT_scene(SceneButtonsPanel
  
  class SCENE_PT_unit(SceneButtonsPanel, Panel):
  bl_label = "Units"
+ bl_options = {'DEFAULT_CLOSED'}
 -COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
 +COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
"BLENDER_LANPR"}
  
  def draw(self, context):
  layout = self.layout
diff --cc source/blender/makesrna/intern/rna_scene.c
index 661c0620b07,7679ff41ba3..77dbdec5bdc
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -459,27 -457,27 +459,27 @@@ static const EnumPropertyItem rna_enum_
  #endif
  
  const EnumPropertyItem rna_enum_transform_pivot_items_full[] = {
-   {V3D_AROUND_CENTER_BOUNDS, "BOUNDING_BOX_CENTER", ICON_ROTATE, 
"Bounding Box Center",
+   {V3D_AROUND_CENTER_BOUNDS, "BOUNDING_BOX_CENTER", ICON_PIVOT_BOUNDBOX, 
"Bounding Box Center",
 -   "Pivot around bounding box center of selected object(s)"},
 +   "Pivot around bounding box center of selected object(s)"},
-   {V3D_AROUND_CURSOR, "CURSOR", ICON_CURSOR, "3D Cursor", "Pivot around 
the 3D cursor"},
-   {V3D_AROUND_LOCAL_ORIGINS, "INDIVIDUAL_ORIGINS", ICON_ROTATECOLLECTION,
+   {V3D_AROUND_CURSOR, "CURSOR", ICON_PIVOT_CURSOR, "3D Cursor", "Pivot 
around the 3D cursor"},
+   {V3D_AROUND_LOCAL_ORIGINS, "INDIVIDUAL_ORIGINS", ICON_PIVOT_INDIVIDUAL,
 -  "Individual Origins", "Pivot around each object's own 
origin"},
 +   "Individual Origins", "Pivot around each object's own origin"},
-   {V3D_AROUND_CENTER_MEAN, "MEDIAN_POINT", ICON_ROTATECENTER, "Median 
Point",
+   {V3D_AROUND_CENTER_MEAN, "MEDIAN_POINT", ICON_PIVOT_MEDIAN, "Median 
Point",
 - "Pivot around the median point of selected objects"},
 +   "Pivot around the median point of selected objects"},
-   {V3D_AROUND_ACTIVE, "ACTIVE_ELEMENT", ICON_ROTACTIVE, "Active Element", 
"Pivot around active object"},
+   {V3D_AROUND_ACTIVE, "ACTIVE_ELEMENT", ICON_PIVOT_ACTIVE, "Active 
Element", "Pivot around active object"},
{0, NULL, 0, NULL, NULL}
  };
  
  /* Icons could be made a consistent set of images. */
  const EnumPropertyItem rna_enum_transform_orientation_items[] = {
-   {V3D_MANIP_GLOBAL, "GLOBAL", ICON_SCENE_DATA, "Global", "Align the 
transformation axes to world space"},
-   {V3D_MANIP_LOCAL, "LOCAL", ICON_MANIPUL, "Local", "Align the 
transformation axes to the selected objects' local space"},
-   {V3D_MANIP_NORMAL, "NORMAL", ICON_SNAP_NORMAL, "Normal",
+   {V3D_MANIP_GLOBAL, "GLOBAL", ICON_ORIENTATION_GLOBAL, "Global", "Align 
the transformation axes to world space"},
+   {V3D_MANIP_LOCAL, "LOCAL", ICON_ORIENTATION_LOCAL, "Local", "Align the 
transformation a

[Bf-blender-cvs] [0bc6e431cc4] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-10-19 Thread Nick Wu
Commit: 0bc6e431cc47fa41c2544d6ffead19c61bac2a68
Author: Nick Wu
Date:   Wed Oct 3 18:30:02 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB0bc6e431cc47fa41c2544d6ffead19c61bac2a68

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   source/blender/makesrna/intern/rna_scene.c

===



===

diff --cc release/scripts/startup/bl_ui/properties_scene.py
index b14215fb8c5,2cabefe905e..4962a5c7626
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@@ -82,11 -74,8 +74,8 @@@ class SCENE_PT_scene(SceneButtonsPanel
  
  class SCENE_PT_unit(SceneButtonsPanel, Panel):
  bl_label = "Units"
 -COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
 +COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
"BLENDER_LANPR"}
  
- def draw_header_preset(self, context):
- SCENE_PT_units_length_presets.draw_panel_header(self.layout)
- 
  def draw(self, context):
  layout = self.layout
  
diff --cc source/blender/makesdna/DNA_scene_types.h
index 58edfcec8cd,15e8f950686..93f129c3290
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -2171,25 -2123,31 +2188,31 @@@ typedef enum eGPencil_Placement_Flags 
GP_PROJECT_CURSOR = (1 << 5),
  } eGPencil_Placement_Flags;
  
+ /* ToolSettings.gpencil_selectmode */
+ typedef enum eGPencil_Selectmode_types {
+   GP_SELECTMODE_POINT  = 0,
+   GP_SELECTMODE_STROKE = 1
+ } eGPencil_Selectmode_types;
+ 
  /* ToolSettings.particle flag */
 -#define PE_KEEP_LENGTHS   1
 -#define PE_LOCK_FIRST 2
 -#define PE_DEFLECT_EMITTER4
 -#define PE_INTERPOLATE_ADDED  8
 -#define PE_DRAW_PART  16
 +#define PE_KEEP_LENGTHS 1
 +#define PE_LOCK_FIRST   2
 +#define PE_DEFLECT_EMITTER  4
 +#define PE_INTERPOLATE_ADDED8
 +#define PE_DRAW_PART16
  /* #define PE_X_MIRROR64 */   /* deprecated */
 -#define PE_FADE_TIME  128
 -#define PE_AUTO_VELOCITY  256
 +#define PE_FADE_TIME128
 +#define PE_AUTO_VELOCITY256
  
  /* ParticleEditSettings.brushtype */
 -#define PE_BRUSH_NONE -1
 -#define PE_BRUSH_COMB 0
 -#define PE_BRUSH_CUT  1
 -#define PE_BRUSH_LENGTH   2
 -#define PE_BRUSH_PUFF 3
 -#define PE_BRUSH_ADD  4
 -#define PE_BRUSH_SMOOTH   5
 -#define PE_BRUSH_WEIGHT   6
 +#define PE_BRUSH_NONE   -1
 +#define PE_BRUSH_COMB   0
 +#define PE_BRUSH_CUT1
 +#define PE_BRUSH_LENGTH 2
 +#define PE_BRUSH_PUFF   3
 +#define PE_BRUSH_ADD4
 +#define PE_BRUSH_SMOOTH 5
 +#define PE_BRUSH_WEIGHT 6
  
  /* ParticleBrushData.flag */
  #define PE_BRUSH_DATA_PUFF_VOLUME 1
@@@ -2204,13 -2162,14 +2227,14 @@@
  
  /* UnitSettings */
  
+ #define USER_UNIT_ADAPTIVE 0xFF
  /* UnitSettings.system */
 -#define   USER_UNIT_NONE  0
 -#define   USER_UNIT_METRIC1
 -#define   USER_UNIT_IMPERIAL  2
 +#define USER_UNIT_NONE  0
 +#define USER_UNIT_METRIC1
 +#define USER_UNIT_IMPERIAL  2
  /* UnitSettings.flag */
 -#define   USER_UNIT_OPT_SPLIT 1
 -#define USER_UNIT_ROT_RADIANS 2
 +#define USER_UNIT_OPT_SPLIT 1
 +#define USER_UNIT_ROT_RADIANS   2
  
  /* SceneEEVEE->flag */
  enum {
diff --cc source/blender/makesrna/intern/rna_scene.c
index ed44c3df058,11d56206d6e..661c0620b07
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -2017,57 -2016,69 +2018,120 @@@ const EnumPropertyItem *rna_TransformOr
return item;
  }
  
+ static const EnumPropertyItem *get_unit_enum_items(int system, int type, bool 
*r_free)
+ {
+   const void *usys;
+   int len;
+   bUnit_GetSystem(system, type, , );
+ 
+   EnumPropertyItem *items = NULL;
+   int totitem = 0;
+ 
+   EnumPropertyItem adaptive = { 0 };
+   adaptive.identifier = "ADAPTIVE";
+   adaptive.name = "Adaptive";
+   adaptive.value = USER_UNIT_ADAPTIVE;
+   RNA_enum_item_add(, , );
+ 
+   for (int i = 0; i < len; i++) {
+   if (!bUnit_IsSuppressed(usys, i)) {
+   EnumPropertyItem tmp = { 0 };
+   tmp.identifier = bUnit_GetName(usys, i);
+   tmp.name = bUnit_GetNameDisplay(usys, i);
+   tmp.value = i;
+   RNA_enum_item_add(, , );
+   }
+   }
+ 
+   *r_free = true;
+   return items;
+ }
+ 
+ const EnumPropertyItem *rna_get_length_unit_items(
+ bContext *UNUSED(C), Point

[Bf-blender-cvs] [74294b8686a] soc-2018-npr: Fix interface lock situation reported by DarkDefender.

2018-09-17 Thread Nick Wu
Commit: 74294b8686ab107dd24b98431400a4a03ffb7bb4
Author: Nick Wu
Date:   Mon Sep 17 21:49:08 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB74294b8686ab107dd24b98431400a4a03ffb7bb4

Fix interface lock situation reported by DarkDefender.

===

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 1c8c570a3b5..5d83bd72323 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -408,15 +408,17 @@ void lanpr_batch_free(SceneLANPR *lanpr) {
 
 }
 
+// below are commented to prevent interface lock in some conditions.
+// should look into it,
 void lanpr_set_render_flag() {
-   BLI_spin_lock(_share.render_flag_lock);
-   lanpr_share.during_render = 1;
-   BLI_spin_unlock(_share.render_flag_lock);
+   //BLI_spin_lock(_share.render_flag_lock);
+   //lanpr_share.during_render = 1;
+   //BLI_spin_unlock(_share.render_flag_lock);
 }
 void lanpr_clear_render_flag() {
-   BLI_spin_lock(_share.render_flag_lock);
-   lanpr_share.during_render = 0;
-   BLI_spin_unlock(_share.render_flag_lock);
+   //BLI_spin_lock(_share.render_flag_lock);
+   //lanpr_share.during_render = 0;
+   //BLI_spin_unlock(_share.render_flag_lock);
 }
 int lanpr_during_render() {
int status;
@@ -578,6 +580,8 @@ 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);
 
+   DRW_render_instance_buffer_finish();
+
float clear_col[4] = { 0.0f, 0.0f, 0.0f, 1.0f };
float clear_depth = 1.0f;
uint clear_stencil = 0xFF;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [923f59a984f] soc-2018-npr: DPIX normal controlled line width

2018-09-16 Thread Nick Wu
Commit: 923f59a984f80eb4f010366003b858c4558b4501
Author: Nick Wu
Date:   Sun Sep 16 15:35:41 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB923f59a984f80eb4f010366003b858c4558b4501

DPIX normal controlled line width

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index 8e061c4e004..b14215fb8c5 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -675,15 +675,15 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 else:
 layout.operator("scene.lanpr_add_line_layer")
 
-layout.label(text= "Normal:")
-layout.prop(active_layer,"normal_mode", expand = True)
-if active_layer.normal_mode != "DISABLED":
-layout.prop(active_layer,"normal_control_object")
-layout.prop(active_layer,"normal_effect_inverse", toggle = 
True)
-layout.prop(active_layer,"normal_ramp_begin")
-layout.prop(active_layer,"normal_ramp_end")
-layout.prop(active_layer,"normal_thickness_begin", 
slider=True)
-layout.prop(active_layer,"normal_thickness_end", 
slider=True)
+layout.label(text= "Normal:")
+layout.prop(active_layer,"normal_mode", expand = True)
+if active_layer.normal_mode != "DISABLED":
+layout.prop(active_layer,"normal_control_object")
+layout.prop(active_layer,"normal_effect_inverse", toggle = 
True)
+layout.prop(active_layer,"normal_ramp_begin")
+layout.prop(active_layer,"normal_ramp_end")
+layout.prop(active_layer,"normal_thickness_begin", slider=True)
+layout.prop(active_layer,"normal_thickness_end", slider=True)
 
 elif not lanpr.layers.active_layer:
 layout.operator("scene.lanpr_add_line_layer")
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index d91fee3d10d..1c8c570a3b5 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -193,6 +193,8 @@ static void lanpr_engine_free(void){
stl->g_data = 0;
 }
 
+void lanpr_calculate_normal_object_vector(LANPR_LineLayer* ll, float* 
normal_object_direction);
+
 static void lanpr_cache_init(void *vedata){
 
LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
@@ -201,6 +203,8 @@ static void lanpr_cache_init(void *vedata){
 
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
 
+   static float normal_object_direction[3] = { 0,0,1 };
+
if (!stl->g_data) {
/* Alloc transient pointers */
stl->g_data = MEM_callocN(sizeof(*stl->g_data), __func__);
@@ -271,6 +275,8 @@ static void lanpr_cache_init(void *vedata){
stl->g_data->dpix_preview_shgrp = 
DRW_shgroup_create(lanpr_share.dpix_preview_shader, psl->dpix_preview_pass);

DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp, "vert0_tex", 
>dpix_out_pl);

DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp, "vert1_tex", 
>dpix_out_pr);
+   
DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp, 
"face_normal0_tex", >dpix_in_nl);
+   
DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp, 
"face_normal1_tex", >dpix_in_nr);// these are for normal shading

DRW_shgroup_uniform_texture_ref(stl->g_data->dpix_preview_shgrp, 
"edge_mask_tex", >dpix_in_edge_mask);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, 
"viewport", stl->g_data->dpix_viewport, 1);
DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, 
"color", ll->color, 1);
@@ -293,6 +299,16 @@ static void lanpr_cache_init(void *vedata){
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp, 
"z_near", >g_data->dpix_znear, 1);
DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp, 
"z_far", &

[Bf-blender-cvs] [bef1fb79ee5] soc-2018-npr: Vertical line hack: tip point threshod fix and a condition branch.

2018-09-16 Thread Nick Wu
Commit: bef1fb79ee52a000419bc131e52957906464a06d
Author: Nick Wu
Date:   Sun Sep 16 15:00:57 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBbef1fb79ee52a000419bc131e52957906464a06d

Vertical line hack: tip point threshod fix and a condition branch.

===

M   release/scripts/addons
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_util.h

===

diff --git a/release/scripts/addons b/release/scripts/addons
index 5f7fba0565a..c88411ff777 16
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 5f7fba0565a7c9ae93eae31a08fc9bbbd16d333a
+Subproject commit c88411ff7776a2db5d6ef6117a1b2faa42a95611
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index f1a4e15a1ec..5f077d5e15f 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -816,6 +816,8 @@ void 
lanpr_calculate_single_line_occlusion(LANPR_RenderBuffer *rb, LANPR_RenderL
int PositiveX = (rl->R->FrameBufferCoord[0] - 
rl->L->FrameBufferCoord[0]) > 0 ? 1 : (rl->R->FrameBufferCoord[0] == 
rl->L->FrameBufferCoord[0] ? 0 : -1);
int PositiveY = (rl->R->FrameBufferCoord[1] - 
rl->L->FrameBufferCoord[1]) > 0 ? 1 : (rl->R->FrameBufferCoord[1] == 
rl->L->FrameBufferCoord[1] ? 0 : -1);
 
+   //printf("PX %d %lf   PY %d %lf\n", PositiveX, 
rl->R->FrameBufferCoord[0] - rl->L->FrameBufferCoord[0], PositiveY, 
rl->R->FrameBufferCoord[1] - rl->L->FrameBufferCoord[1]);
+
while (nba) {
 
 
@@ -2203,8 +2205,11 @@ int 
lanpr_triangle_line_imagespace_intersection_v2(SpinLock *spl, LANPR_RenderTr
//Trans[2] = tmat_dist_3dv(GLocation, cam->Base.GLocation);
//Trans[2] = cam->clipsta*cam->clipend / (cam->clipend - fabs(Trans[2]) 
* (cam->clipend - cam->clipsta));
 
-
-   Cut = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], Trans[0]);
+   //prevent vertical problem ?
+   if(rl->L->FrameBufferCoord[0] != rl->R->FrameBufferCoord[0])
+   Cut = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], Trans[0]);
+   else
+   Cut = tMatGetLinearRatio(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], Trans[1]);
 
In = lanpr_point_inside_triangled(Trans, rt->V[0]->FrameBufferCoord, 
rt->V[1]->FrameBufferCoord, rt->V[2]->FrameBufferCoord);
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_util.h 
b/source/blender/draw/engines/lanpr/lanpr_util.h
index fd1f8a7c9fb..7d7f79d6e65 100644
--- a/source/blender/draw/engines/lanpr/lanpr_util.h
+++ b/source/blender/draw/engines/lanpr/lanpr_util.h
@@ -46,7 +46,7 @@ typedef int tnsVector2i[2];
typedef struct _##a a; \
struct _##a
 
-#define DBL_TRIANGLE_LIM 1e-11
+#define DBL_TRIANGLE_LIM 1e-8
 #define DBL_EDGE_LIM 1e-9

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [1bd6f3605d0] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-16 Thread Nick Wu
Commit: 1bd6f3605d0e12f6b595ca2dadaed8c177cdf3bd
Author: Nick Wu
Date:   Sat Sep 15 11:03:29 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB1bd6f3605d0e12f6b595ca2dadaed8c177cdf3bd

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons_contrib
#   release/scripts/startup/bl_ui/properties_physics_cloth.py
#   source/tools

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [843a57e3a5a] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-16 Thread Nick Wu
Commit: 843a57e3a5a01449735b8bc68743afa11522268a
Author: Nick Wu
Date:   Sun Sep 16 15:02:02 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB843a57e3a5a01449735b8bc68743afa11522268a

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [85f6277e6cf] soc-2018-npr: Possibly fixed shader errors, but don't know exactly what caused it.

2018-09-12 Thread Nick Wu
Commit: 85f6277e6cf7760d422b3d3fe440a48e5e905783
Author: Nick Wu
Date:   Wed Sep 12 23:03:34 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB85f6277e6cf7760d422b3d3fe440a48e5e905783

Possibly fixed shader errors, but don't know exactly what caused it.

===

M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl

===

diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
index ea51655815c..a9820014817 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
@@ -31,11 +31,11 @@ uniform float line_thickness_material;
 uniform float line_thickness_edge_mark;
 uniform float line_thickness_intersection;
 
-float use_thickness = line_thickness;
+float use_thickness;
 
 out vec4 out_color;
 
-vec4 use_color = color;
+vec4 use_color;
 
 float get_linear_depth(float z){
float ze = 2.0 * z_near * z_far / (z_far + z_near - z * (z_far - 
z_near));
@@ -104,11 +104,13 @@ void main() {
 
int is_crease = 0;
 
-   if (p1.w>0)   { use_color = color;   
use_thickness = line_thickness; } // contour override
-   else if (p2.w>0)  { use_color = crease_color;
use_thickness = line_thickness * line_thickness_crease; is_crease = 1; }
-   else if (edge_mask.g > 0) { use_color = edge_mark_color; 
use_thickness = line_thickness * line_thickness_edge_mark; }
+   use_thickness = line_thickness;
+   use_color = color;
+
+   if (edge_mask.g > 0)  { use_color = edge_mark_color; 
use_thickness = line_thickness * line_thickness_edge_mark; }
else if (edge_mask.r > 0) { use_color = material_color;  
use_thickness = line_thickness * line_thickness_material;  }
else if (edge_mask.b > 0) { use_color = intersection_color;  
use_thickness = line_thickness * line_thickness_intersection;  }
+   else if (p2.w != p1.w){ use_color = crease_color;
use_thickness = line_thickness * line_thickness_crease; is_crease = 1; }
 
draw_line(p1, p2, is_crease);
 }
\ No newline at end of file
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
index f5fff375e7d..093f17afae2 100644
--- 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
+++ 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
@@ -369,6 +369,7 @@ int testProfileEdge(ivec2 texcoord, vec3 world_position)
   ((enable_edge_mark > 0) && (edge_mask.g > 0)) ||
   ((enable_intersection > 0) && (edge_mask.b > 0)) ||
   false) return 2;
+   return 0;
 }
 
 void main(){
@@ -511,7 +512,7 @@ void main(){
//if(v0_clipped_pre_div == v1_clipped_pre_div)gl_FragData[0] =vec4(1);
//else gl_FragData[0] = vec4(v0_clipped_pre_div.xyz,1);
 
-   gl_FragData[0] = vec4(v0_clipped_pre_div.xyz, profile_on==1 ? 1 : 
0);//contour has priority
+   gl_FragData[0] = vec4(v0_clipped_pre_div.xyz, 1);//contour has 
priority, modification cause trouble
gl_FragData[1] = vec4(v1_clipped_pre_div.xyz, is_crease > 0 ? 
crease_strength : 1);
//gl_FragData[2] = packOffsetTexel(num_samples, segment_screen_length,
//num_samples, segment_screen_length);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b3ed2a87512] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-12 Thread Nick Wu
Commit: b3ed2a875122ca3d1224b9ed534c5e5fb2d3186a
Author: Nick Wu
Date:   Wed Sep 12 22:27:01 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBb3ed2a875122ca3d1224b9ed534c5e5fb2d3186a

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   source/tools

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [c44e716f9c9] soc-2018-npr: Fixed still frame render cache out of date error.

2018-09-07 Thread Nick Wu
Commit: c44e716f9c9898d11f1ca0f73928734cdd4160aa
Author: Nick Wu
Date:   Fri Sep 7 22:16:21 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBc44e716f9c9898d11f1ca0f73928734cdd4160aa

Fixed still frame render cache out of date error.

===

M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   source/blender/draw/modes/object_mode.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index db35244ef1d..d91fee3d10d 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -493,20 +493,41 @@ static void workbench_render_matrices_init(RenderEngine 
*engine, Depsgraph *deps
 int lanpr_compute_feature_lines_internal(Depsgraph *depsgraph, SceneLANPR 
*lanpr, Scene *scene);
 LANPR_RenderBuffer *lanpr_create_render_buffer(SceneLANPR *lanpr);
 
+extern DrawEngineType draw_engine_lanpr_type;
+
+static int LANPR_GLOBAL_update_tag;
+
+void lanpr_id_update(LANPR_Data *vedata, ID *id){
+   //if (vedata->engine_type != _engine_lanpr_type) return;
+
+   /* Handle updates based on ID type. */
+   switch (GS(id->name)) {
+   case ID_WO:
+   case ID_OB:
+   case ID_ME:
+   LANPR_GLOBAL_update_tag = 1;
+   default:
+   /* pass */
+   break;
+   }
+}
+
 static void lanpr_render_to_image(LANPR_Data *vedata, RenderEngine *engine, 
struct RenderLayer *render_layer, const rcti *rect){
LANPR_StorageList *stl = vedata->stl;
LANPR_TextureList *txl = vedata->txl;
LANPR_FramebufferList *fbl = vedata->fbl;
const DRWContextState *draw_ctx = DRW_context_state_get();
+   //int update_mark = DEG_id_type_any_updated(draw_ctx->depsgraph);
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR *lanpr = >lanpr;
 
+
lanpr_set_render_flag();
 
if (lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE ||
(lanpr->master_mode == LANPR_MASTER_MODE_DPIX && 
lanpr->enable_intersections)) {
if (!lanpr->render_buffer) lanpr_create_render_buffer(lanpr);
-   if (lanpr->render_buffer->cached_for_frame != scene->r.cfra) {
+   if (lanpr->render_buffer->cached_for_frame != scene->r.cfra || 
LANPR_GLOBAL_update_tag) {

lanpr_compute_feature_lines_internal(draw_ctx->depsgraph, lanpr, scene);
}
}
@@ -613,7 +634,7 @@ DrawEngineType draw_engine_lanpr_type = {
NULL,//draw background
_draw_scene,//draw scene, looks like that not much difference 
except a camera overlay image.
_view_update,
-   NULL, //_id_update, wait till I figure out how to do this.
+   _id_update, //_id_update, wait till I figure out how to do 
this.
_render_to_image,
 };
 
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
index 79ccbe12b63..ea51655815c 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
@@ -105,10 +105,10 @@ void main() {
int is_crease = 0;
 
if (p1.w>0)   { use_color = color;   
use_thickness = line_thickness; } // contour override
+   else if (p2.w>0)  { use_color = crease_color;
use_thickness = line_thickness * line_thickness_crease; is_crease = 1; }
else if (edge_mask.g > 0) { use_color = edge_mark_color; 
use_thickness = line_thickness * line_thickness_edge_mark; }
else if (edge_mask.r > 0) { use_color = material_color;  
use_thickness = line_thickness * line_thickness_material;  }
else if (edge_mask.b > 0) { use_color = intersection_color;  
use_thickness = line_thickness * line_thickness_intersection;  }
-   else if (p2.w>0)  { use_color = crease_color;
use_thickness = line_thickness * line_thickness_crease; is_crease = 1; }
 
draw_line(p1, p2, is_crease);
 }
\ No newline at end of file
diff --git a/source/blender/draw/modes/object_mode.c 
b/source/blender/draw/modes/object_mode.c
index 0a83feb879c..ecf1d042049 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -2979,6 +2979,9 @@ static void OBJECT_draw_scene(void *vedata)
 
 static const DrawEngineDataSize OBJECT_data_size = 
DRW_VIEWPORT_DATA_SIZE(OBJECT_Data);
 
+struct LANPR_Data;
+void lanpr_id_update(struct LANPR_Data *vedata, ID *id);
+
 DrawEngineType draw_engine_object_type = {
NULL, NULL,
   

[Bf-blender-cvs] [44981260169] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-07 Thread Nick Wu
Commit: 4498126016926cf89f426499d691d4c1490d17ca
Author: Nick Wu
Date:   Fri Sep 7 23:13:23 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB4498126016926cf89f426499d691d4c1490d17ca

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   source/blender/draw/CMakeLists.txt
#   source/blender/makesrna/intern/rna_scene.c

===



===

diff --cc source/blender/draw/CMakeLists.txt
index 106e0653536,b9881162e9a..80551ef7e29
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@@ -157,9 -151,8 +157,10 @@@ set(SR
engines/eevee/eevee_lut.h
engines/eevee/eevee_private.h
engines/external/external_engine.h
- 
+   engines/workbench/workbench_engine.h
+   engines/workbench/workbench_private.h
 +  engines/lanpr/lanpr_util.h
 +  engines/lanpr/lanpr_all.h
  )
  
  data_to_c_simple(engines/eevee/shaders/ambient_occlusion_lib.glsl SRC)
diff --cc source/blender/makesrna/intern/rna_scene.c
index fca178eb6bf,e451c87aa3a..27039e1134a
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -2829,11 -2775,10 +2829,11 @@@ static void rna_def_curve_paint_setting
RNA_def_property_ui_text(prop, "Depth", "Method of projecting depth");
  
static const EnumPropertyItem surface_plane_items[] = {
-   {CURVE_PAINT_SURFACE_PLANE_NORMAL_VIEW,  "NORMAL_VIEW", 0, 
"Normal/View", "Draw perpendicular to the surface"},
-   {CURVE_PAINT_SURFACE_PLANE_NORMAL_SURFACE, "NORMAL_SURFACE", 0, 
"Normal/Surface", "Draw aligned to the surface"},
-   {CURVE_PAINT_SURFACE_PLANE_VIEW, "VIEW", 0, "View", "Draw 
aligned to the viewport"},
+   {CURVE_PAINT_SURFACE_PLANE_NORMAL_VIEW,  "NORMAL_VIEW", 0, 
"Normal/View", "Display perpendicular to the surface"},
+   {CURVE_PAINT_SURFACE_PLANE_NORMAL_SURFACE, "NORMAL_SURFACE", 0, 
"Normal/Surface", "Display aligned to the surface"},
+   {CURVE_PAINT_SURFACE_PLANE_VIEW, "VIEW", 0, "View", "Display 
aligned to the viewport"},
 -  {0, NULL, 0, NULL, NULL}};
 +  {0, NULL, 0, NULL, NULL}
 +  };
  
prop = RNA_def_property(srna, "surface_plane", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "surface_plane");

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [dacceb573f7] soc-2018-npr: Fixed vertical line missed calculations.

2018-09-05 Thread Nick Wu
Commit: dacceb573f7a41510dcc80d427923162ba731dff
Author: Nick Wu
Date:   Thu Sep 6 13:39:55 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBdacceb573f7a41510dcc80d427923162ba731dff

Fixed vertical line missed calculations.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index fe97c160661..7ba0687add5 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -620,13 +620,14 @@ BLI_INLINE int lanpr_LineIntersectTest2d(const double 
*a1, const double *a2, con
return 0;
}
double r2 = tMatGetLinearRatio(b1[0], b2[0], a1[0]);
+   x = tnsLinearItp(b1[0], b2[0], r2);
y = tnsLinearItp(b1[1], b2[1], r2);
*aRatio = Ratio = tMatGetLinearRatio(a1[1], a2[1], y);
}
else {
if (xDiff2 == 0) {
Ratio = tMatGetLinearRatio(a1[0], a2[0], b1[0]);
-   //y = tnsLinearItp(a1[1], a2[1], r2);
+   x = tnsLinearItp(a1[0], a2[0], Ratio);
*aRatio = Ratio;
}
else {
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 5f4f2af8a6a..f1a4e15a1ec 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -547,7 +547,7 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
}
}else { // X difference == 0;
if (PositiveY > 0) {
-   r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], This->U);
+   r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], This->U);
if (r1 > 1) return 0;
for (lip = This->UP.first; lip; lip = lip->pNext) {
ba = lip->p;
@@ -555,7 +555,7 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
}
}
else if (PositiveY < 0) {
-   r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], This->B);
+   r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], This->B);
if (r1 > 1) return 0;
for (lip = This->BP.first; lip; lip = lip->pNext) {
ba = lip->p;
@@ -1768,7 +1768,7 @@ void lanpr_make_render_geometry_buffers(Depsgraph 
*depsgraph, Scene *s, Object *
tmat_make_perspective_matrix_44d(proj, fov, asp, cam->clipsta, 
cam->clipend);
} elif(cam->type == CAM_ORTHO)
{
-   real w = cam->ortho_scale;
+   real w = cam->ortho_scale/2;
tmat_make_ortho_matrix_44d(proj, -w, w, -w / asp, w / asp, 
cam->clipsta, cam->clipend);
}
 
@@ -2944,15 +2944,18 @@ void 
*lanpr_make_leveled_edge_vertex_array(LANPR_RenderBuffer *rb, ListBase *Lin
}
N += 6;
 
+   CLAMP(rls->at, 0, 1);
+   if(irls = rls->Item.pNext) CLAMP(irls->at, 0, 
1);
+
*V = tnsLinearItp(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], rls->at);
V++;
*V = tnsLinearItp(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], rls->at);
V++;
*V = componet_id;
V++;
-   *V = tnsLinearItp(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], rls->Item.pNext ? (irls = rls->Item.pNext)->at : 1);
+   *V = tnsLinearItp(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], irls ? irls->at : 1);
V++;
-   *V = tnsLinearItp(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], rls->Item.pNext ? (irls = rls->Item.pNext)->at : 1);
+   *V = tnsLinearItp(rl->L->FrameBufferCoord[1], 
rl->R->FrameBufferCoord[1], irls ? irls->at : 1);
V++;
*V = componet_id;
V++;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fceb384ad1c] soc-2018-npr: Partly fixed "Absolute horizontal/vertical" situations.

2018-09-05 Thread Nick Wu
Commit: fceb384ad1ca9d8c27b195fc0ad397a9dcd8544e
Author: Nick Wu
Date:   Thu Sep 6 12:01:26 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBfceb384ad1ca9d8c27b195fc0ad397a9dcd8544e

Partly fixed "Absolute horizontal/vertical" situations.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index c0b72bdbac0..fe97c160661 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -279,6 +279,9 @@ typedef struct LANPR_RenderTaskInfo {
struct nListItemPointer *Material;
ListBase MaterialPointers;
 
+   struct nListItemPointer *EdgeMark;
+   ListBase EdgeMarkPointers;
+
 } LANPR_RenderTaskInfo;
 
 typedef struct LANPR_RenderBuffer {
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 394c87db01b..5f4f2af8a6a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -449,10 +449,10 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
real rx, ry, ux, uy, lx, ly, bx, by;
real r1, r2;
LANPR_BoundingArea *ba; nListItemPointer *lip;
-   if (PositiveX) {
+   if (PositiveX > 0) {
rx = This->R;
ry = y + k * (rx - x);
-   if (PositiveY) {
+   if (PositiveY > 0) {
uy = This->U;
ux = x + (uy - y) / k;
r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], rx);
@@ -471,7 +471,7 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
}
}
}
-   else {
+   else if (PositiveY < 0) {
by = This->B;
bx = x + (by - y) / k;
r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], rx);
@@ -489,12 +489,18 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
if (ba->R >= bx && ba->L < bx) { *NextX 
= bx; *NextY = by; return ba; }
}
}
+   }else { // Y diffence == 0
+   r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], This->R);
+   if (r1 > 1) return 0;
+   for (lip = This->RP.first; lip; lip = lip->pNext) {
+   ba = lip->p;
+   if (ba->U >= y && ba->B < y) { *NextX = 
This->R; *NextY = y; return ba; }
+   }
}
-   }
-   else {
+   }else if (PositiveX < 0) { // X diffence < 0
lx = This->L;
ly = y + k * (lx - x);
-   if (PositiveY) {
+   if (PositiveY > 0) {
uy = This->U;
ux = x + (uy - y) / k;
r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], lx);
@@ -513,7 +519,7 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
}
}
}
-   else {
+   else if (PositiveY < 0) {
by = This->B;
bx = x + (by - y) / k;
r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], lx);
@@ -531,7 +537,32 @@ LANPR_BoundingArea 
*lanpr_get_next_bounding_area(LANPR_BoundingArea *This, LANPR
if (ba->R >= bx && ba->L < bx) { *NextX 
= bx; *NextY = by; return ba; }
}
}
+   }else { // Y diffence == 0
+   r1 = tMatGetLinearRatio(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0], This->L);
+   if (r1 > 1) return 0;
+   for (lip = This->LP.first; lip; lip = lip->pNext) {
+   ba = lip->p;
+   if (ba->U >= y && ba->B < y) { *NextX = 
This->L; *NextY = y; return ba; }
+   }
+   }
+   }else { // X difference == 0;
+   if (Positi

[Bf-blender-cvs] [b6b0d986bb5] soc-2018-npr: Fixed contour priority. Fixed software mode line type shader.

2018-09-05 Thread Nick Wu
Commit: b6b0d986bb538e20eafb809069c3dfc8e724387f
Author: Nick Wu
Date:   Thu Sep 6 10:49:22 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBb6b0d986bb538e20eafb809069c3dfc8e724387f

Fixed contour priority. Fixed software mode line type shader.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_passthrough_vert.glsl

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index ddc55eb411b..394c87db01b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -2075,8 +2075,8 @@ int 
lanpr_triangle_line_imagespace_intersection_v2(SpinLock *spl, LANPR_RenderTr
//printf("%f %f %f   %f %f\n", FBC0[2], FBC1[2], FBC2[2], LFBC[2], 
RFBC[2]);
 
//bound box.
-   if (MIN3(FBC0[2], FBC1[2], FBC2[2]) > MAX2(LFBC[2], RFBC[2]))
-   return 0;
+   //if (MIN3(FBC0[2], FBC1[2], FBC2[2]) > MAX2(LFBC[2], RFBC[2]))
+   //  return 0;
if (MAX3(FBC0[0], FBC1[0], FBC2[0]) < MIN2(LFBC[0], RFBC[0])) return 0;
if (MIN3(FBC0[0], FBC1[0], FBC2[0]) > MAX2(LFBC[0], RFBC[0])) return 0;
if (MAX3(FBC0[1], FBC1[1], FBC2[1]) < MIN2(LFBC[1], RFBC[1])) return 0;
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
index 5591cc6aa5f..79ccbe12b63 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
@@ -104,10 +104,11 @@ void main() {
 
int is_crease = 0;
 
-   if (edge_mask.g > 0)  { use_color = edge_mark_color; 
use_thickness = line_thickness * line_thickness_edge_mark; }
+   if (p1.w>0)   { use_color = color;   
use_thickness = line_thickness; } // contour override
+   else if (edge_mask.g > 0) { use_color = edge_mark_color; 
use_thickness = line_thickness * line_thickness_edge_mark; }
else if (edge_mask.r > 0) { use_color = material_color;  
use_thickness = line_thickness * line_thickness_material;  }
else if (edge_mask.b > 0) { use_color = intersection_color;  
use_thickness = line_thickness * line_thickness_intersection;  }
-   else if (p1.w != p2.w){ use_color = crease_color;
use_thickness = line_thickness * line_thickness_crease; is_crease = 1; }
+   else if (p2.w>0)  { use_color = crease_color;
use_thickness = line_thickness * line_thickness_crease; is_crease = 1; }
 
draw_line(p1, p2, is_crease);
 }
\ No newline at end of file
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
index 1fbd4e6f0cc..f5fff375e7d 100644
--- 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
+++ 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
@@ -337,7 +337,8 @@ bool pointBeyondNear(vec3 p)
return beyond;
 }
 
-bool testProfileEdge(ivec2 texcoord, vec3 world_position)
+// 1 for contour 2 for others
+int testProfileEdge(ivec2 texcoord, vec3 world_position)
 {
// This should really be the inverse transpose of the modelview matrix, 
but
// that only matters if the camera has a weird anisotropic scale or 
skew.
@@ -362,12 +363,12 @@ bool testProfileEdge(ivec2 texcoord, vec3 world_position)
  ((dot2 - crease_threshold) / (crease_fade_threshold - 
crease_threshold) / 2) : 0;
// use 0 to 0.5 to repesent the range, because 1 will represent another 
meaning
 
-   return contour ||
-  ((enable_crease > 0) && (is_crease > 0)) ||
+   if(contour) return 1;
+   else if(((enable_crease > 0) && (is_crease > 0)) ||
   ((enable_material > 0) && (edge_mask.r > 0)) ||
   ((enable_edge_mark > 0) && (edge_mask.g > 0)) ||
   ((enable_intersection > 0) && (edge_mask.b > 0)) ||
-  false;
+  false) return 2;
 }
 
 void main(){
@@ -427,8 +428,8 @@ void main(){
// If this segment is a profile edge, test to see if it should be 
turned on.
//if (v1_world_pos.w > 0.5)
//{
-   bool profile_on = testProfileEdge(texcoord, v0_clipped_near);
-   if (!profile_on)
+   int profile_on = testProfileEdge(texcoord, v0_clipped_near);
+   if (profile_on==

[Bf-blender-cvs] [3ab0ae97cdd] soc-2018-npr: Merge branch 'soc-2018-npr' of git.blender.org:blender into soc-2018-npr

2018-09-05 Thread Nick Wu
Commit: 3ab0ae97cddd14e7b963e9080a57c6d9e56f34c0
Author: Nick Wu
Date:   Thu Sep 6 09:54:20 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3ab0ae97cddd14e7b963e9080a57c6d9e56f34c0

Merge branch 'soc-2018-npr' of git.blender.org:blender into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7f4daea0c08] soc-2018-npr: Fixed line width incorrect variations under different aspect ratios. commented weird code in culling.

2018-09-05 Thread Nick Wu
Commit: 7f4daea0c088ab13b8d46d4b6f68763379161e57
Author: Nick Wu
Date:   Thu Sep 6 09:48:04 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7f4daea0c088ab13b8d46d4b6f68763379161e57

Fixed line width incorrect variations under different aspect ratios. commented 
weird code in culling.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_passthrough_vert.glsl

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 2fad625aa9e..ddc55eb411b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -1106,11 +1106,11 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
t_count = 0;
}
 
-   if ((!rt->RL[0]->Item.pNext && !rt->RL[0]->Item.pPrev) 
||
-   (!rt->RL[1]->Item.pNext && !rt->RL[1]->Item.pPrev) 
||
-   (!rt->RL[2]->Item.pNext && !rt->RL[2]->Item.pPrev)) 
{
-   printf("'"); // means this triangle is 
lonely
-   }
+   //if ((!rt->RL[0]->Item.pNext && 
!rt->RL[0]->Item.pPrev) ||
+   //(!rt->RL[1]->Item.pNext && 
!rt->RL[1]->Item.pPrev) ||
+   //(!rt->RL[2]->Item.pNext && 
!rt->RL[2]->Item.pPrev)) {
+   //  printf("'"); // means this triangle is 
lonely
+   //}
 
rv = &((LANPR_RenderVert *)veln->Pointer)[v_count];
rt1 = (void *)(((BYTE *)teln->Pointer) + 
rb->TriangleSize * t_count);
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
index 9405cad5fa0..5591cc6aa5f 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
@@ -69,6 +69,10 @@ void draw_line(vec4 p1, vec4 p2, int is_crease){
vec4 a, b, c, d;
 
vec4 offset = Normal * use_thickness * 0.001;
+
+   //correct thickness
+   offset.x *= viewport.w/viewport.z;
+
a = p1 + offset;
b = p1 - offset;
c = p2 + offset;
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
index 65f9b3bf1c8..3c7945ed834 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
@@ -48,6 +48,10 @@ uniform float taper_r_dist;
 uniform float taper_l_strength;
 uniform float taper_r_strength;
 
+// for line width correction
+uniform vec4 output_viewport;
+uniform vec4 preview_viewport;
+
 out vec4 out_color;
 
 float use_thickness;
@@ -96,6 +100,8 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
 
float lim = use_thickness * 0.002;
 
+   float x_scale = preview_viewport.w / preview_viewport.z;
+
if (LL.x < 3e20) {
vec4 avg = normalize(L - LL) + normalize(R - L);
if (length(avg) > 0.001) {
@@ -103,6 +109,7 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
vec4 Minter = normalize(vec4(-Tangent.y, Tangent.x, 0, 
0));
float length = use_thickness / (dot(Minter, Normal)) * 
0.001;
if (length < 4 * lim) {
+   Minter.x *= x_scale;
a = L - length * Minter;
b = L + length * Minter;
}
@@ -116,6 +123,7 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
vec4 Minter = normalize(vec4(-Tangent.y, Tangent.x, 0, 
0));
float length = use_thickness / (dot(Minter, Normal)) * 
0.001;
if (length < 4 * lim) {
+   Minter.x *= x_scale;
c = R - length * Minter;
d = R + length * Minter;
}
@@ -135,7 +143,7 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
a.w = 1;
b.w = 1;
c.w = 1;
-   d.w = 1;
+   d.w = 1;   

[Bf-blender-cvs] [cdad75303a5] soc-2018-npr: Fixed line width incorrect variations under different aspect ratios.

2018-09-05 Thread Nick Wu
Commit: cdad75303a5040cc4152da25010fdd1b313fa065
Author: Nick Wu
Date:   Thu Sep 6 09:48:04 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBcdad75303a5040cc4152da25010fdd1b313fa065

Fixed line width incorrect variations under different aspect ratios.

===

M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_passthrough_vert.glsl

===

diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
index 9405cad5fa0..5591cc6aa5f 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
@@ -69,6 +69,10 @@ void draw_line(vec4 p1, vec4 p2, int is_crease){
vec4 a, b, c, d;
 
vec4 offset = Normal * use_thickness * 0.001;
+
+   //correct thickness
+   offset.x *= viewport.w/viewport.z;
+
a = p1 + offset;
b = p1 - offset;
c = p2 + offset;
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
index 65f9b3bf1c8..3c7945ed834 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
@@ -48,6 +48,10 @@ uniform float taper_r_dist;
 uniform float taper_l_strength;
 uniform float taper_r_strength;
 
+// for line width correction
+uniform vec4 output_viewport;
+uniform vec4 preview_viewport;
+
 out vec4 out_color;
 
 float use_thickness;
@@ -96,6 +100,8 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
 
float lim = use_thickness * 0.002;
 
+   float x_scale = preview_viewport.w / preview_viewport.z;
+
if (LL.x < 3e20) {
vec4 avg = normalize(L - LL) + normalize(R - L);
if (length(avg) > 0.001) {
@@ -103,6 +109,7 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
vec4 Minter = normalize(vec4(-Tangent.y, Tangent.x, 0, 
0));
float length = use_thickness / (dot(Minter, Normal)) * 
0.001;
if (length < 4 * lim) {
+   Minter.x *= x_scale;
a = L - length * Minter;
b = L + length * Minter;
}
@@ -116,6 +123,7 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
vec4 Minter = normalize(vec4(-Tangent.y, Tangent.x, 0, 
0));
float length = use_thickness / (dot(Minter, Normal)) * 
0.001;
if (length < 4 * lim) {
+   Minter.x *= x_scale;
c = R - length * Minter;
d = R + length * Minter;
}
@@ -135,7 +143,7 @@ void draw_line(vec4 LL, vec4 L, vec4 R, vec4 RR){
a.w = 1;
b.w = 1;
c.w = 1;
-   d.w = 1;
+   d.w = 1;
 
gl_Position = a;
EmitVertex();
@@ -188,10 +196,19 @@ void main() {
 
if (occlusion_level_begin > level || occlusion_level_end < level) 
return;
 
+   float asp1 = output_viewport.z / output_viewport.w;
+   float asp2 = preview_viewport.z / preview_viewport.w;
+   float x_scale = asp1 / asp2;
+   
vec4 LL = vec4(gl_in[0].gl_Position.xy, 0, 1),
 L  = vec4(gl_in[1].gl_Position.xy, 0, 1),
 R  = vec4(gl_in[2].gl_Position.xy, 0, 1),
 RR = vec4(gl_in[3].gl_Position.xy, 0, 1);
+   
+   LL.x *= x_scale;
+   L.x  *= x_scale;
+   R.x  *= x_scale;
+   RR.x *= x_scale;
 
int type = gType[1];
 
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
index 38254a7f992..262ab8b271b 100644
--- 
a/source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
+++ 
b/source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
@@ -30,6 +30,10 @@ uniform vec4 material_color;
 uniform vec4 edge_mark_color;
 uniform vec4 intersection_color;
 
+// for line width correction
+uniform vec4 output_viewport;
+uniform vec4 preview_viewport;
+
 out vec4 out_color;
 
 float use_thickness;
@@ -41,6 +45,8 @@ void draw_line(vec4 p1, vec4 p2){
 
vec4 a, b, c, d;
 
+   float x_scale = preview_viewport.w / preview_viewport.z;
+   Normal.x *= x_scale;
ve

[Bf-blender-cvs] [4df5506b22f] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-05 Thread Nick Wu
Commit: 4df5506b22f90d3ce0b6d3ec7761b289552d9b02
Author: Nick Wu
Date:   Thu Sep 6 08:30:31 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB4df5506b22f90d3ce0b6d3ec7761b289552d9b02

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   source/blender/makesdna/DNA_scene_types.h

===



===

diff --cc source/blender/makesdna/DNA_scene_types.h
index cc8284aeba8,eb1a17a044c..5c08e082160
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -1548,13 -1486,13 +1548,13 @@@ typedef struct Scene 
struct Base  *basact DNA_DEPRECATED; /* active base */
void *_pad1;
  
 -  View3DCursor cursor;/* 3d cursor location */
 +  View3DCursor cursor;/* 3d cursor location */
  
-   unsigned int lay;   /* bitflags for layer visibility */
-   int layact; /* active layer */
+   unsigned int lay DNA_DEPRECATED;/* bitflags for layer 
visibility */
+   int layact DNA_DEPRECATED;  /* active layer */
unsigned int pad1;
  
 -  short flag; 
/* various settings */
 +  short flag; /* various settings */
  
char use_nodes;
char pad[1];

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [592b2bd5e48] soc-2018-npr: Fixed DPIX ortho view.

2018-09-05 Thread Nick Wu
Commit: 592b2bd5e488d6da57253dc9928e329d9125d8a7
Author: Nick Wu
Date:   Thu Sep 6 09:01:50 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB592b2bd5e488d6da57253dc9928e329d9125d8a7

Fixed DPIX ortho view.

===

M   
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl

===

diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
index d381cd1027a..1fbd4e6f0cc 100644
--- 
a/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
+++ 
b/source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
@@ -345,7 +345,9 @@ bool testProfileEdge(ivec2 texcoord, vec3 world_position)
mat3 nm = mat3(transpose(inverse(ModelMatrix)));
vec3 face_normal_0 = mat3(nm) * texelFetch(face_normal0_tex, texcoord, 
0).xyz;
vec3 face_normal_1 = mat3(nm) * texelFetch(face_normal1_tex, texcoord, 
0).xyz;
-   vec3 camera_to_line = world_position - view_pos;//modelview * 
vec4(world_position, 1.0);
+   vec3 camera_to_line = is_perspective == 1 ?
+ world_position - view_pos :
+ view_dir;//modelview * 
vec4(world_position, 1.0);
 
vec4 edge_mask = texelFetch(edge_mask_tex, texcoord, 0);
 
@@ -396,27 +398,30 @@ void main(){
return;
}
 
-   // clip to the near plane
vec3 v0_clipped_near = v0_world_pos.xyz;
vec3 v1_clipped_near = v1_world_pos.xyz;
-   bool v0_beyond_near = pointBeyondNear(v0_world_pos.xyz);
-   bool v1_beyond_near = pointBeyondNear(v1_world_pos.xyz);
 
-   if (!v0_beyond_near && !v1_beyond_near)
-   {
-   // segment entirely behind the camera
-   gl_FragData[0] = vec4(0.0, 1.0, 0.0, 0.0);
-   gl_FragData[1] = vec4(0.0, 0.0, 1.0, 0.0);
-   gl_FragData[2] = vec4(0.0, 1.0, 0.0, 0.0);
-   return;
-   }
-   else if (!v0_beyond_near)
-   {
-   v0_clipped_near = clipSegmentToNear(v0_world_pos.xyz, 
v1_clipped_near);
-   }
-   else if (!v1_beyond_near)
-   {
-   v1_clipped_near = clipSegmentToNear(v1_world_pos.xyz, 
v0_clipped_near);
+   if(is_perspective==1){
+   // clip to the near plane
+   bool v0_beyond_near = pointBeyondNear(v0_world_pos.xyz);
+   bool v1_beyond_near = pointBeyondNear(v1_world_pos.xyz);
+
+   if (!v0_beyond_near && !v1_beyond_near)
+   {
+   // segment entirely behind the camera
+   gl_FragData[0] = vec4(0.0, 1.0, 0.0, 0.0);
+   gl_FragData[1] = vec4(0.0, 0.0, 1.0, 0.0);
+   gl_FragData[2] = vec4(0.0, 1.0, 0.0, 0.0);
+   return;
+   }
+   else if (!v0_beyond_near)
+   {
+   v0_clipped_near = clipSegmentToNear(v0_world_pos.xyz, 
v1_clipped_near);
+   }
+   else if (!v1_beyond_near)
+   {
+   v1_clipped_near = clipSegmentToNear(v1_world_pos.xyz, 
v0_clipped_near);
+   }
}
 
// If this segment is a profile edge, test to see if it should be 
turned on.
@@ -438,9 +443,12 @@ void main(){
vec4 v1_pre_div = projection * ViewMatrix * vec4(v1_clipped_near, 1.0);
 
// perspective divide
-   vec3 v0_clip_pos = v0_pre_div.xyz / v0_pre_div.w;
-   vec3 v1_clip_pos = v1_pre_div.xyz / v1_pre_div.w;
-
+   vec3 v0_clip_pos = v0_pre_div.xyz;
+   vec3 v1_clip_pos = v1_pre_div.xyz;
+   if(is_perspective==1){
+   v0_clip_pos /= v0_pre_div.w;
+   v1_clip_pos /= v1_pre_div.w;
+   }
// clip to frustum
bool v0_on_screen = !pointOffScreen(v0_clip_pos);
bool v1_on_screen = !pointOffScreen(v1_clip_pos);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [eeeee3b10af] soc-2018-npr: Fixed software mode ortho condition errors in culling. Now working.

2018-09-05 Thread Nick Wu
Commit: e3b10afc76f7c17b4a1364a7e678e909abd3
Author: Nick Wu
Date:   Thu Sep 6 09:25:22 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBe3b10afc76f7c17b4a1364a7e678e909abd3

Fixed software mode ortho condition errors in culling. Now working.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index baed4d40509..2fad625aa9e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -1086,9 +1086,9 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
for (i; i < reln->ElementCount; i++) {
int In1 = 0, In2 = 0, In3 = 0;
rt = (void *)(((BYTE *)reln->Pointer) + 
rb->TriangleSize * i);
-   if (rt->V[0]->FrameBufferCoord[2] < 0) In1 = 1;
-   if (rt->V[1]->FrameBufferCoord[2] < 0) In2 = 1;
-   if (rt->V[2]->FrameBufferCoord[2] < 0) In3 = 1;
+   if (rt->V[0]->FrameBufferCoord[3] < 0) In1 = 1;
+   if (rt->V[1]->FrameBufferCoord[3] < 0) In2 = 1;
+   if (rt->V[2]->FrameBufferCoord[3] < 0) In3 = 1;
 
rt->RL[0]->ObjectRef = o;
rt->RL[1]->ObjectRef = o;
@@ -1109,7 +1109,7 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
if ((!rt->RL[0]->Item.pNext && !rt->RL[0]->Item.pPrev) 
||
(!rt->RL[1]->Item.pNext && !rt->RL[1]->Item.pPrev) 
||
(!rt->RL[2]->Item.pNext && !rt->RL[2]->Item.pPrev)) 
{
-   printf("'");
+   printf("'"); // means this triangle is 
lonely
}
 
rv = &((LANPR_RenderVert *)veln->Pointer)[v_count];

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [f0eca87df63] soc-2018-npr: Fixed collection header name

2018-09-04 Thread Nick Wu
Commit: f0eca87df637708504d7e79d9df004213adce675
Author: Nick Wu
Date:   Tue Sep 4 12:56:46 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBf0eca87df637708504d7e79d9df004213adce675

Fixed collection header name

===

M   source/blender/makesdna/DNA_lanpr_types.h

===

diff --git a/source/blender/makesdna/DNA_lanpr_types.h 
b/source/blender/makesdna/DNA_lanpr_types.h
index 1ed27187cfc..1087fc6cf22 100644
--- a/source/blender/makesdna/DNA_lanpr_types.h
+++ b/source/blender/makesdna/DNA_lanpr_types.h
@@ -34,7 +34,7 @@
 
 #include "DNA_listBase.h"
 #include "DNA_ID.h"
-#include "DNA_group_types.h"
+#include "DNA_collection_types.h"
 
 struct Object;
 struct Material;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [de2c47cbf1e] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-04 Thread Nick Wu
Commit: de2c47cbf1e6a110ada8caedf6fc996cec760e09
Author: Nick Wu
Date:   Tue Sep 4 21:52:48 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBde2c47cbf1e6a110ada8caedf6fc996cec760e09

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   source/blender/makesdna/DNA_scene_types.h

===



===

diff --cc release/scripts/startup/bl_ui/properties_render.py
index 945ac243540,38b73b0397a..bd9afa60a20
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@@ -315,8 -339,9 +339,9 @@@ class RENDER_PT_output_views(RenderButt
  
  class RENDER_PT_encoding(RenderButtonsPanel, Panel):
  bl_label = "Encoding"
+ bl_parent_id = "RENDER_PT_output"
  bl_options = {'DEFAULT_CLOSED'}
 -COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
 +COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
  
  def draw_header_preset(self, context):
  RENDER_PT_ffmpeg_presets.draw_panel_header(self.layout)
diff --cc source/blender/makesdna/DNA_scene_types.h
index deb64befc99,63a6a191b9e..cc8284aeba8
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@@ -1548,13 -1486,13 +1548,13 @@@ typedef struct Scene 
struct Base  *basact DNA_DEPRECATED; /* active base */
void *_pad1;
  
 -  View3DCursor cursor;/* 3d cursor location */
 +  View3DCursor cursor;/* 3d cursor location */
  
 -  unsigned int lay;   /* bitflags for layer 
visibility */
 -  int layact; /* active layer */
 +  unsigned int lay;   /* bitflags for layer visibility */
 +  int layact; /* active layer */
-   unsigned int lay_updated;   /* runtime flag, has layer ever been 
updated since load? */
+   unsigned int pad1;
  
 -  short flag; 
/* various settings */
 +  short flag; /* various settings */
  
char use_nodes;
char pad[1];

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [3fc578d7cb4] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-09-04 Thread Nick Wu
Commit: 3fc578d7cb4409aaba86ea179f27fdf71554a733
Author: Nick Wu
Date:   Sat Sep 1 11:03:10 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3fc578d7cb4409aaba86ea179f27fdf71554a733

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   source/blender/CMakeLists.txt

===



===

diff --cc source/blender/CMakeLists.txt
index f35f3b55162,a4d8e21c349..0040168d4af
--- a/source/blender/CMakeLists.txt
+++ b/source/blender/CMakeLists.txt
@@@ -91,10 -94,6 +94,7 @@@ set(SRC_DNA_IN
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_windowmanager_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_workspace_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_world_types.h
-   ${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_movieclip_types.h
-   ${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_tracking_types.h
-   ${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_mask_types.h
 +  ${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lanpr_types.h
  )
  
  add_subdirectory(datatoc)
diff --cc source/blender/makesrna/intern/CMakeLists.txt
index 6edab2a0391,a795b4c6cae..78d177146ae
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@@ -57,8 -56,8 +56,9 @@@ set(DEFSR
rna_lamp.c
rna_lattice.c
rna_layer.c
+   rna_lightprobe.c
rna_linestyle.c
 +  rna_lanpr.c
rna_main.c
rna_mask.c
rna_material.c
diff --cc source/blender/makesrna/intern/rna_scene.c
index a099e2c6145,84910b6b1b3..919e941c8f0
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -2500,9 -2448,16 +2500,16 @@@ static void rna_def_tool_settings(Blend
prop = RNA_def_property(srna, "use_gpencil_thumbnail_list", 
PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "gpencil_flags", 
GP_TOOL_FLAG_THUMBNAIL_LIST);
RNA_def_property_ui_text(prop, "Compact List",
 -  "Show compact list of color instead of thumbnails");
 +   "Show compact list of color instead of 
thumbnails");
RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
  
+   prop = RNA_def_property(srna, "add_gpencil_weight_data", PROP_BOOLEAN, 
PROP_NONE);
+   RNA_def_property_boolean_sdna(prop, NULL, "gpencil_flags", 
GP_TOOL_FLAG_CREATE_WEIGHTS);
+   RNA_def_property_ui_text(prop, "Add weight data for new strokes",
+   "When creating new strokes, the weight data is added according 
to the current vertex group and weight, "
+   "if no vertex group selected, weight is not added");
+   RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+   
prop = RNA_def_property(srna, "gpencil_sculpt", PROP_POINTER, 
PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "gp_sculpt");
RNA_def_property_struct_type(prop, "GPencilSculptSettings");

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [552d256cfdc] soc-2018-npr: Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into soc-2018-npr

2018-08-31 Thread Nick Wu
Commit: 552d256cfdc7fdb84502d92957912391ca85860b
Author: Nick Wu
Date:   Wed Aug 29 19:08:14 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB552d256cfdc7fdb84502d92957912391ca85860b

Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into 
soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ef234a2e61d] soc-2018-npr: Software crease threshold follow DPIX's

2018-08-31 Thread Nick Wu
Commit: ef234a2e61deab309606df9cee724e54bf7be76b
Author: Nick Wu
Date:   Fri Aug 31 21:48:19 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBef234a2e61deab309606df9cee724e54bf7be76b

Software crease threshold follow DPIX's

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 9aa05dd6730..baed4d40509 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -2526,7 +2526,7 @@ void lanpr_compute_view_vector(LANPR_RenderBuffer *rb) {
//tMatVectorCopy3d(Trans, ((Camera*)rb->Scene->camera)->RenderViewDir);
 }
 
-void lanpr_compute_scene_contours(LANPR_RenderBuffer *rb) {
+void lanpr_compute_scene_contours(LANPR_RenderBuffer *rb, float threshold) {
real *ViewVector = rb->ViewVector;
BMEdge *e;
real Dot1 = 0, Dot2 = 0;
@@ -2572,7 +2572,7 @@ void lanpr_compute_scene_contours(LANPR_RenderBuffer *rb) 
{
 
if (!Add) {
if ((Result = Dot1 * Dot2) <= 0) Add = 1;
-   elif(tmat_dot_3d(rl->TL->GN, rl->TR->GN, 0) < 0.7) Add 
= 2;
+   elif(tmat_dot_3d(rl->TL->GN, rl->TR->GN, 0) < 
threshold) Add = 2;
elif(rl->TL && rl->TR && rl->TL->MaterialID != 
rl->TR->MaterialID) Add = 3;
}
 
@@ -3236,7 +3236,7 @@ int lanpr_compute_feature_lines_internal(Depsgraph 
*depsgraph, SceneLANPR *lanpr
 
lanpr_make_initial_bounding_areas(rb);
 
-   lanpr_compute_scene_contours(rb);
+   lanpr_compute_scene_contours(rb, lanpr->crease_threshold);
 
lanpr_add_triangles(rb);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [e9d3c2e8fb5] soc-2018-npr: Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into soc-2018-npr

2018-08-31 Thread Nick Wu
Commit: e9d3c2e8fb53e489acc3b60668643237111d3320
Author: Nick Wu
Date:   Wed Aug 29 18:42:08 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBe9d3c2e8fb53e489acc3b60668643237111d3320

Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into 
soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [1e70595e05e] soc-2018-npr: Fixed file data blocks linking error.

2018-08-28 Thread Nick Wu
Commit: 1e70595e05ecc94b7121eeb0de3b43fc1761c797
Author: Nick Wu
Date:   Tue Aug 28 18:52:40 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB1e70595e05ecc94b7121eeb0de3b43fc1761c797

Fixed file data blocks linking error.

===

M   source/blender/blenloader/intern/readfile.c

===

diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 148400da644..3d9bfb170e7 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6121,6 +6121,16 @@ static void lib_link_scene(FileData *fd, Main *main)
fls->group = newlibadr_us(fd, 
sce->id.lib, fls->group);
}
}
+
+   for (LANPR_LineLayer *ll = 
sce->lanpr.line_layers.first; ll; ll = ll->next) {
+   for (LANPR_LineLayerComponent *llc = 
ll->components.first; llc; llc = llc->next) {
+   llc->object_select = newlibadr_us(fd, 
sce->id.lib, llc->object_select);
+   llc->material_select = newlibadr_us(fd, 
sce->id.lib, llc->material_select);
+   llc->collection_select = 
newlibadr_us(fd, sce->id.lib, llc->collection_select);
+   }
+   ll->normal_control_object = newlibadr_us(fd, 
sce->id.lib, ll->normal_control_object);
+   }
+
/* Motion Tracking */
sce->clip = newlibadr_us(fd, sce->id.lib, sce->clip);
 
@@ -6525,13 +6535,13 @@ static void direct_link_scene(FileData *fd, Scene *sce)
for (LANPR_LineLayer *ll = sce->lanpr.line_layers.first; ll; ll = 
ll->next) {
link_list(fd, >components);
for(LANPR_LineLayerComponent *llc = ll->components.first; 
llc;llc=llc->next){
-   llc->object_select = newlibadr(fd, sce->id.lib, 
llc->object_select);
-   llc->material_select = newlibadr(fd, sce->id.lib, 
llc->material_select);
-   llc->collection_select = newlibadr(fd, sce->id.lib, 
llc->collection_select);
+   //llc->object_select = newlibadr(fd, sce->id.lib, 
llc->object_select);
+   //llc->material_select = newlibadr(fd, sce->id.lib, 
llc->material_select);
+   //llc->collection_select = newlibadr(fd, sce->id.lib, 
llc->collection_select);
}
ll->batch = NULL;
ll->shgrp = NULL;
-   ll->normal_control_object = newlibadr(fd, sce->id.lib, 
ll->normal_control_object);
+   //ll->normal_control_object = newlibadr(fd, sce->id.lib, 
ll->normal_control_object);
}
 
sce->layer_properties = newdataadr(fd, sce->layer_properties);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [bcc3003cb41] soc-2018-npr: Fixed chained line type display control

2018-08-28 Thread Nick Wu
Commit: bcc3003cb41c6992c5e321b8242b209ec082e7be
Author: Nick Wu
Date:   Tue Aug 28 18:23:58 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBbcc3003cb41c6992c5e321b8242b209ec082e7be

Fixed chained line type display control

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 68166cfeeaa..9aa05dd6730 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3140,6 +3140,11 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb, int is_render)
DRW_shgroup_uniform_float(rb->ChainShgrp, 
"thickness_material", >thickness_material, 1);
DRW_shgroup_uniform_float(rb->ChainShgrp, 
"thickness_edge_mark", >thickness_edge_mark, 1);
DRW_shgroup_uniform_float(rb->ChainShgrp, 
"thickness_intersection", >thickness_intersection, 1);
+   DRW_shgroup_uniform_int(rb->ChainShgrp, 
"enable_contour", >enable_contour, 1);
+   DRW_shgroup_uniform_int(rb->ChainShgrp, 
"enable_crease", >enable_crease, 1);
+   DRW_shgroup_uniform_int(rb->ChainShgrp, 
"enable_material", >enable_material_seperate, 1);
+   DRW_shgroup_uniform_int(rb->ChainShgrp, 
"enable_edge_mark", >enable_edge_mark, 1);
+   DRW_shgroup_uniform_int(rb->ChainShgrp, 
"enable_intersection", >enable_intersection, 1);
 
DRW_shgroup_uniform_int(rb->ChainShgrp, 
"normal_mode", >normal_mode, 1);
DRW_shgroup_uniform_int(rb->ChainShgrp, 
"normal_effect_inverse", >normal_effect_inverse, 1);
diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
index 19272241cdd..65f9b3bf1c8 100644
--- a/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
+++ b/source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
@@ -20,6 +20,12 @@ uniform float thickness_material;
 uniform float thickness_edge_mark;
 uniform float thickness_intersection;
 
+uniform int enable_contour;
+uniform int enable_crease;
+uniform int enable_material;
+uniform int enable_edge_mark;
+uniform int enable_intersection;
+
 uniform int occlusion_level_begin;
 uniform int occlusion_level_end;
 
@@ -170,11 +176,11 @@ void decide_line_style(int component_id){
th = factor_to_thickness(factor);
}
 
-   if (component_id == 0) { out_color = color;  use_thickness 
= th;  return; }
-   if (component_id == 1) { out_color = crease_color;   use_thickness 
= th * thickness_crease;   return; }
-   if (component_id == 2) { out_color = material_color; use_thickness 
= th * thickness_material; return; }
-   if (component_id == 3) { out_color = edge_mark_color;use_thickness 
= th * thickness_edge_mark;return; }
-   if (component_id == 4) { out_color = intersection_color; use_thickness 
= th * thickness_intersection; return; }
+   if (component_id == 0) { out_color = color;  use_thickness 
= th * enable_contour;   return; }
+   if (component_id == 1) { out_color = crease_color;   use_thickness 
= th * thickness_crease * enable_crease; return; }
+   if (component_id == 2) { out_color = material_color; use_thickness 
= th * thickness_material * enable_material; return; }
+   if (component_id == 3) { out_color = edge_mark_color;use_thickness 
= th * thickness_edge_mark * enable_edge_mark;   return; }
+   if (component_id == 4) { out_color = intersection_color; use_thickness 
= th * thickness_intersection * enable_intersection; return; }
 }
 
 void main() {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [f33c3d157c2] soc-2018-npr: Fixed dropdown list reference lost issue.

2018-08-28 Thread Nick Wu
Commit: f33c3d157c21e82dc5f9916205191680c8f1bc10
Author: Nick Wu
Date:   Tue Aug 28 16:07:17 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBf33c3d157c21e82dc5f9916205191680c8f1bc10

Fixed dropdown list reference lost issue.

===

M   source/blender/blenloader/intern/readfile.c
M   source/blender/makesdna/DNA_lanpr_types.h

===

diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index abfba8ec8bf..2bf211da431 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6524,8 +6524,14 @@ static void direct_link_scene(FileData *fd, Scene *sce)
link_list(fd, >lanpr.line_layers);
for (LANPR_LineLayer *ll = sce->lanpr.line_layers.first; ll; ll = 
ll->next) {
link_list(fd, >components);
+   for(LANPR_LineLayerComponent *llc = ll->components.first; 
llc;llc=llc->next){
+   llc->object_select = newdataadr(fd, llc->object_select);
+   llc->material_select = newdataadr(fd, 
llc->material_select);
+   llc->collection_select = newdataadr(fd, 
llc->collection_select);
+   }
ll->batch = NULL;
ll->shgrp = NULL;
+   ll->normal_control_object = newdataadr(fd, 
ll->normal_control_object);
}
 
sce->layer_properties = newdataadr(fd, sce->layer_properties);
diff --git a/source/blender/makesdna/DNA_lanpr_types.h 
b/source/blender/makesdna/DNA_lanpr_types.h
index b457b88d048..3040bc0b992 100644
--- a/source/blender/makesdna/DNA_lanpr_types.h
+++ b/source/blender/makesdna/DNA_lanpr_types.h
@@ -116,6 +116,7 @@ typedef struct LANPR_LineLayer {
 float normal_ramp_end;
 float normal_thickness_begin;
 float normal_thickness_end;
+   struct Object *normal_control_object;
 
int logic_mode;  /* for component evaluation */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8072b683875] soc-2018-npr: Directional light control object ok, fixing file rw

2018-08-28 Thread Nick Wu
Commit: 8072b6838755f2493fade14a904fa9f818a94aed
Author: Nick Wu
Date:   Tue Aug 28 17:34:12 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB8072b6838755f2493fade14a904fa9f818a94aed

Directional light control object ok, fixing file rw

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/blenloader/intern/readfile.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
M   source/blender/makesdna/DNA_lanpr_types.h
M   source/blender/makesrna/intern/rna_lanpr.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index 461f1f7db71..96cdeb2e518 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -676,6 +676,7 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.label(text= "Normal:")
 layout.prop(active_layer,"normal_mode", expand = True)
 if active_layer.normal_mode != "DISABLED":
+layout.prop(active_layer,"normal_control_object")
 layout.prop(active_layer,"normal_effect_inverse", toggle = 
True)
 layout.prop(active_layer,"normal_ramp_begin")
 layout.prop(active_layer,"normal_ramp_end")
diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 2bf211da431..148400da644 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6525,13 +6525,13 @@ static void direct_link_scene(FileData *fd, Scene *sce)
for (LANPR_LineLayer *ll = sce->lanpr.line_layers.first; ll; ll = 
ll->next) {
link_list(fd, >components);
for(LANPR_LineLayerComponent *llc = ll->components.first; 
llc;llc=llc->next){
-   llc->object_select = newdataadr(fd, llc->object_select);
-   llc->material_select = newdataadr(fd, 
llc->material_select);
-   llc->collection_select = newdataadr(fd, 
llc->collection_select);
+   llc->object_select = newlibadr(fd, sce->id.lib, 
llc->object_select);
+   llc->material_select = newlibadr(fd, sce->id.lib, 
llc->material_select);
+   llc->collection_select = newlibadr(fd, sce->id.lib, 
llc->collection_select);
}
ll->batch = NULL;
ll->shgrp = NULL;
-   ll->normal_control_object = newdataadr(fd, 
ll->normal_control_object);
+   ll->normal_control_object = newlibadr(fd, sce->id.lib, 
ll->normal_control_object);
}
 
sce->layer_properties = newdataadr(fd, sce->layer_properties);
@@ -9902,6 +9902,8 @@ static void expand_scene(FileData *fd, Main *mainvar, 
Scene *sce)
SceneRenderLayer *srl;
FreestyleModuleConfig *module;
FreestyleLineSet *lineset;
+   LANPR_LineLayer* ll;
+   LANPR_LineLayerComponent* llc;
 
for (Base *base_legacy = sce->base.first; base_legacy; base_legacy = 
base_legacy->next) {
expand_doit(fd, mainvar, base_legacy->object);
@@ -9949,6 +9951,15 @@ static void expand_scene(FileData *fd, Main *mainvar, 
Scene *sce)
}
}
 
+   for (LANPR_LineLayer *ll = sce->lanpr.line_layers.first; ll; ll = 
ll->next) {
+   for (LANPR_LineLayerComponent *llc = ll->components.first; llc; 
llc = llc->next) {
+   if (llc->object_select) expand_doit(fd, mainvar, 
llc->object_select);
+   if (llc->material_select) expand_doit(fd, mainvar, 
llc->material_select);
+   if (llc->collection_select) expand_doit(fd, mainvar, 
llc->collection_select);
+   }
+   if (ll->normal_control_object) expand_doit(fd, mainvar, 
ll->normal_control_object);
+   }
+
if (sce->gpd)
expand_doit(fd, mainvar, sce->gpd);
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 7e8488d5092..3e359ea8667 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3028,6 +3028,38 @@ void 
lanpr_viewport_draw_offline_result(LANPR_TextureList *txl, LANPR_Framebuffe
 
 void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float 
dist_threshold);
 
+void lanpr_calcula

[Bf-blender-cvs] [775df5a1d53] soc-2018-npr: Fix directional object matrix error

2018-08-28 Thread Nick Wu
Commit: 775df5a1d53e915d8c5cea4f52d7f86881c4f93c
Author: Nick Wu
Date:   Tue Aug 28 18:10:18 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB775df5a1d53e915d8c5cea4f52d7f86881c4f93c

Fix directional object matrix error

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 3e359ea8667..68166cfeeaa 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3040,7 +3040,10 @@ void 
lanpr_calculate_normal_object_vector(LANPR_LineLayer* ll, float* normal_obj
normal_object_direction[2] = 1; // default z up 
direction
}else {
float dir[3] = {0,0,1};
-   mul_v3_m3v3(normal_object_direction, ob->obmat, dir);
+   float mat[3][3];
+   copy_m3_m4(mat, ob->obmat);
+   mul_v3_m3v3(normal_object_direction, mat, dir);
+   normalize_v3(normal_object_direction);
}
return;
case LANPR_NORMAL_POINT:

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [6b005517db9] soc-2018-npr: Normal controlled normal thickness for software is ok. No direction and position variation.

2018-08-28 Thread Nick Wu
Commit: 6b005517db982b3036d86a5cdbb8ab91abc598f2
Author: Nick Wu
Date:   Tue Aug 28 15:48:01 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB6b005517db982b3036d86a5cdbb8ab91abc598f2

Normal controlled normal thickness for software is ok. No direction and 
position variation.

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
M   source/blender/makesdna/DNA_lanpr_types.h
M   source/blender/makesrna/intern/rna_lanpr.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index e90e8f4b890..461f1f7db71 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -672,6 +672,16 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.operator("scene.lanpr_rebuild_all_commands")
 else:
 layout.operator("scene.lanpr_add_line_layer")
+
+layout.label(text= "Normal:")
+layout.prop(active_layer,"normal_mode", expand = True)
+if active_layer.normal_mode != "DISABLED":
+layout.prop(active_layer,"normal_effect_inverse", toggle = 
True)
+layout.prop(active_layer,"normal_ramp_begin")
+layout.prop(active_layer,"normal_ramp_end")
+layout.prop(active_layer,"normal_thickness_begin", 
slider=True)
+layout.prop(active_layer,"normal_thickness_end", 
slider=True)
+
 elif not lanpr.layers.active_layer:
 layout.operator("scene.lanpr_add_line_layer")
 
@@ -734,9 +744,6 @@ class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
 else:
 row.label(text= "Intersection Calculation Disabled")
 
-layout.label(text= "Normal:")
-layout.prop(active_layer,"normal_mode", expand = True)
-
 if lanpr.master_mode == "DPIX" and active_layer.enable_intersection:
 row = col.row(align = True)
 row.prop(lanpr,"enable_intersections", toggle = True, text = 
"Enable")
diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 460d3d1aad2..c0b72bdbac0 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -482,6 +482,7 @@ typedef struct LANPR_RenderLineChain {
 typedef struct LANPR_RenderLineChainItem {
nListItem Item;
float pos[3];   // need z value for fading
+   float normal[3];
char LineType; //  style of [1]   style of [2]
char OcclusionLevel; // 
[1]--->[2]>[3]--
 }LANPR_RenderLineChainItem;
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index f0b53e9ee9f..236df7e7324 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -80,12 +80,13 @@ LANPR_RenderLineChain 
*lanpr_create_render_line_chain(LANPR_RenderBuffer *rb){
return rlc;
 }
 
-LANPR_RenderLineChainItem 
*lanpr_append_render_line_chain_point(LANPR_RenderBuffer *rb, 
LANPR_RenderLineChain *rlc, float x, float y, char type, int level){
+LANPR_RenderLineChainItem 
*lanpr_append_render_line_chain_point(LANPR_RenderBuffer *rb, 
LANPR_RenderLineChain *rlc, float x, float y, float* normal, char type, int 
level){
LANPR_RenderLineChainItem *rlci;
rlci = mem_static_aquire(>RenderDataPool, 
sizeof(LANPR_RenderLineChainItem));
 
rlci->pos[0] = x;
rlci->pos[1] = y;
+   copy_v3_v3(rlci->normal, normal);
rlci->LineType = type & LANPR_EDGE_FLAG_ALL_TYPE;
rlci->OcclusionLevel = level;
BLI_addtail(>Chain, rlci);
@@ -95,12 +96,13 @@ LANPR_RenderLineChainItem 
*lanpr_append_render_line_chain_point(LANPR_RenderBuff
return rlci;
 }
 
-LANPR_RenderLineChainItem 
*lanpr_push_render_line_chain_point(LANPR_RenderBuffer *rb, 
LANPR_RenderLineChain *rlc, float x, float y, char type, int level){
+LANPR_RenderLineChainItem 
*lanpr_push_render_line_chain_point(LANPR_RenderBuffer *rb, 
LANPR_RenderLineChain *rlc, float x, float y, float* normal, char type, int 
level){
LANPR_Render

[Bf-blender-cvs] [0b758fd9948] soc-2018-npr: Software normal control thickness for non-chain situation

2018-08-28 Thread Nick Wu
Commit: 0b758fd9948fe6c456fccc1596fcd587c9e1184e
Author: Nick Wu
Date:   Tue Aug 28 14:13:57 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB0b758fd9948fe6c456fccc1596fcd587c9e1184e

Software normal control thickness for non-chain situation

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_passthrough_vert.glsl
M   source/blender/makesdna/DNA_lanpr_types.h
M   source/blender/makesrna/intern/rna_lanpr.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index 8fbf1631c1d..e90e8f4b890 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -617,7 +617,7 @@ class LANPR_linesets(UIList):
 def draw_item(self, context, layout, data, item, icon, active_data, 
active_propname, index):
 lineset = item
 if self.layout_type in {'DEFAULT', 'COMPACT'}:
-split = layout.split(percentage=0.6)
+split = layout.split(factor=0.6)
 split.label(text="Layer")
 row = split.row(align=True)
 row.prop(lineset, "color", text="", icon_value=icon)
@@ -655,7 +655,7 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.label(text="RUN:")
 layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
 
-split = layout.split(percentage=0.7)
+split = layout.split(factor=0.7)
 col = split.column()
 col.label(text="Layer Composition:")
 col = split.column()
@@ -702,7 +702,7 @@ class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
 
 layout.operator("scene.lanpr_enable_all_line_types")
 
-split = layout.split(percentage=0.3)
+split = layout.split(factor=0.3)
 col = split.column()
 col.prop(active_layer, "enable_contour", text="Contour", toggle=True)
 col.prop(active_layer, "enable_crease", text="Crease", toggle=True)
@@ -734,6 +734,9 @@ class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
 else:
 row.label(text= "Intersection Calculation Disabled")
 
+layout.label(text= "Normal:")
+layout.prop(active_layer,"normal_mode", expand = True)
+
 if lanpr.master_mode == "DPIX" and active_layer.enable_intersection:
 row = col.row(align = True)
 row.prop(lanpr,"enable_intersections", toggle = True, text = 
"Enable")
@@ -767,9 +770,9 @@ class SCENE_PT_lanpr_line_components(SceneButtonsPanel, 
Panel):
 
 i=0
 for c in active_layer.components:
-split = layout.split(percentage=0.85)
+split = layout.split(factor=0.85)
 col = split.column()
-sp2 = col.split(percentage=0.4)
+sp2 = col.split(factor=0.4)
 cl = sp2.column()
 cl.prop(c,"component_mode", text = "")
 cl = sp2.column()
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 9cd29b6feb2..49d67b1f51e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -2418,6 +2418,8 @@ LANPR_RenderLine 
*lanpr_triangle_generate_intersection_line_only(LANPR_RenderBuf
Result = mem_static_aquire(>RenderDataPool, 
sizeof(LANPR_RenderLine));
Result->L = L;
Result->R = R;
+   Result->TL = rt;
+   Result->TR = Testing;
LANPR_RenderLineSegment *rls = mem_static_aquire(>RenderDataPool, 
sizeof(LANPR_RenderLineSegment));
BLI_addtail(>Segments, rls);
BLI_addtail(>AllRenderLines, Result);
@@ -2816,7 +2818,7 @@ int lanpr_count_this_line(LANPR_RenderLine *rl, 
LANPR_LineLayer *ll) {
}
} elif(llc->component_mode == LANPR_COMPONENT_MODE_MATERIAL && 
llc->material_select)
{
-   if ((rl->TL && rl->TL->MaterialID == 
llc->material_select->index) || (rl->TR && rl->TR->MaterialID == 
llc->material_select->index) || (!rl->TL && !rl->TR)) { OrResult = 1; }
+   if ((rl->TL && rl->TL->MaterialID == 
llc->material_select->index) || (rl->TR && rl->TR->MaterialID == 
llc->material_select->index) || (!(rl-&

[Bf-blender-cvs] [db66c3a9a2f] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-08-27 Thread Nick Wu
Commit: db66c3a9a2feb49b1fee35d3984099dab966057b
Author: Nick Wu
Date:   Tue Aug 28 12:46:50 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBdb66c3a9a2feb49b1fee35d3984099dab966057b

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib
#   source/tools

===



===

diff --cc release/scripts/startup/bl_ui/properties_data_modifier.py
index f7d067ba2da,82616fdca82..68e7f16b915
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@@ -639,34 -639,9 +639,34 @@@ class DATA_PT_modifiers(ModifierButtons
  row.operator("object.multires_external_save", text="Save 
External...")
  row.label()
  
 +def MY_BMESH(self, layout, ob, md):
 +split = layout.split(percentage=0.25)
 +
 +col = split.column()
 +col.label(text="§6.1:")
 +col.prop(md, "do_tri")
 +col.prop(md, "do_ff_bb_split")
 +
 +col = split.column()
 +col.label(text="§6.2:")
 +col.prop(md, "do_cusp_dect")
 +col.prop(md, "do_insert")
 +col.prop(md, "do_cusp_insert")
 +
 +col = split.column()
 +col.label(text="§6.3:")
 +col.prop(md, "do_rad_insert")
 +col.prop(md, "do_rad_flip")
 +col.prop(md, "do_opti")
 +
 +
 +col = layout.column()
 +col.label(text="Camera Object:")
 +col.prop(md, "camera_object", text="")
 +
  def OCEAN(self, layout, ob, md):
  if not bpy.app.build_options.mod_oceansim:
- layout.label("Built without OceanSim modifier")
+ layout.label(text="Built without OceanSim modifier")
  return
  
  layout.prop(md, "geometry_mode")

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5d21c3089df] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-08-27 Thread Nick Wu
Commit: 5d21c3089dfe03479daefad1217428c9f1bf3bf6
Author: Nick Wu
Date:   Sun Aug 26 10:28:55 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB5d21c3089dfe03479daefad1217428c9f1bf3bf6

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fba6d689150] soc-2018-npr: Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into soc-2018-npr

2018-08-27 Thread Nick Wu
Commit: fba6d689150ba6a584a6b3b8bb04c02c13563b55
Author: Nick Wu
Date:   Sun Aug 26 20:13:30 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBfba6d689150ba6a584a6b3b8bb04c02c13563b55

Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into 
soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [8e58b88ea43] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-08-23 Thread Nick Wu
Commit: 8e58b88ea432cca8548fc85b0390a2a688e4c120
Author: Nick Wu
Date:   Thu Aug 23 18:55:32 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB8e58b88ea432cca8548fc85b0390a2a688e4c120

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib
#   source/tools

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [4b763f4cb2e] soc-2018-npr: Fixing perpective flag

2018-08-23 Thread Nick Wu
Commit: 4b763f4cb2e7a80d0bbaf3bb26f717ef39a72882
Author: Nick Wu
Date:   Thu Aug 23 18:53:37 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB4b763f4cb2e7a80d0bbaf3bb26f717ef39a72882

Fixing perpective flag

===

M   source/blender/draw/engines/lanpr/lanpr_dpix.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 634d59ad8f3..19930cc8c95 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -347,6 +347,7 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
float clear_col[4] = {0.0f, 0.0f, 0.0f, 0.0f};
float clear_depth = 1.0f;
uint clear_stencil = 0xFF;
+   int is_persp=1;
 
if (!lanpr->active_layer) return; /* return early in case we don't have 
line layers. DPIX only use the first layer. */
 
@@ -360,15 +361,19 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
if (v3d) {
RegionView3D *rv3d = draw_ctx->rv3d;
camera = (rv3d && rv3d->persp == RV3D_CAMOB) ? v3d->camera : 
NULL;
+   is_persp = rv3d->is_persp;
}
if (!camera) {
camera = scene->camera;
+   if(!v3d)is_persp = ((Camera *)camera->data)->type == CAM_PERSP 
? 1 : 0;
}
if (is_render && !camera) return;
 
+   //XXX: should implement view angle functions for ortho camera.
+
pd->dpix_viewport[2] = texw;
pd->dpix_viewport[3] = texh;
-   pd->dpix_is_perspective = 1;
+   pd->dpix_is_perspective = is_persp;
pd->dpix_sample_step = 1;
pd->dpix_buffer_width = TNS_DPIX_TEXTURE_SIZE;
pd->dpix_depth_offset = 0.0001;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7aa1c544f73] soc-2018-npr: Fix opensubdiv error when not enabled WITH_OPENSUBDIV

2018-08-14 Thread Nick Wu
Commit: 7aa1c544f73e430ee50849cabd31a59b5acbf4de
Author: Nick Wu
Date:   Tue Aug 14 16:20:19 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7aa1c544f73e430ee50849cabd31a59b5acbf4de

Fix opensubdiv error when not enabled WITH_OPENSUBDIV

===

M   source/blender/modifiers/intern/MOD_mybmesh.c

===

diff --git a/source/blender/modifiers/intern/MOD_mybmesh.c 
b/source/blender/modifiers/intern/MOD_mybmesh.c
index 8664de40206..f7fa77be8d1 100644
--- a/source/blender/modifiers/intern/MOD_mybmesh.c
+++ b/source/blender/modifiers/intern/MOD_mybmesh.c
@@ -4148,8 +4148,6 @@ static Mesh *mybmesh_do(Mesh *mesh, MyBMeshModifierData 
*mmd, float cam_loc[3])
return result;
 }
 
-#endif /* WITH_OPENSUBDIV */
-
 /* MyBMesh */
 static void initData(ModifierData *md)
 {
@@ -4167,6 +4165,8 @@ static void freeData(ModifierData *md)
}
 }
 
+#endif /* WITH_OPENSUBDIV */
+
 static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx,
Mesh *mesh)
 {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [dc03876c7bd] soc-2018-npr: Fixed engine compatible panel for camera and speaker data.

2018-08-13 Thread Nick Wu
Commit: dc03876c7bd2f81ce8b951b58feecd69fc51bfd8
Author: Nick Wu
Date:   Tue Aug 14 13:44:04 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBdc03876c7bd2f81ce8b951b58feecd69fc51bfd8

Fixed engine compatible panel for camera and speaker data.

===

M   release/scripts/startup/bl_ui/properties_data_camera.py
M   release/scripts/startup/bl_ui/properties_data_speaker.py

===

diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py 
b/release/scripts/startup/bl_ui/properties_data_camera.py
index cc0bde46189..03423cffaa1 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -39,7 +39,7 @@ class CAMERA_PT_presets(PresetMenu):
 preset_subdir = "camera"
 preset_operator = "script.execute_preset"
 preset_add_operator = "camera.preset_add"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 
 class SAFE_AREAS_PT_presets(PresetMenu):
@@ -47,13 +47,13 @@ class SAFE_AREAS_PT_presets(PresetMenu):
 preset_subdir = "safe_areas"
 preset_operator = "script.execute_preset"
 preset_add_operator = "safe_areas.preset_add"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 
 class DATA_PT_context_camera(CameraButtonsPanel, Panel):
 bl_label = ""
 bl_options = {'HIDE_HEADER'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -70,7 +70,7 @@ class DATA_PT_context_camera(CameraButtonsPanel, Panel):
 
 class DATA_PT_lens(CameraButtonsPanel, Panel):
 bl_label = "Lens"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -111,7 +111,7 @@ class DATA_PT_lens(CameraButtonsPanel, Panel):
 sub = col.column(align=True)
 sub.prop(ccam, "longitude_min", text="Longiture Min")
 sub.prop(ccam, "longitude_max", text="Max")
-elif engine in {'BLENDER_RENDER', 'BLENDER_EEVEE', 
'BLENDER_OPENGL'}:
+elif engine in {'BLENDER_RENDER', 'BLENDER_EEVEE', 
'BLENDER_OPENGL', 'BLENDER_LANPR'}:
 if cam.lens_unit == 'MILLIMETERS':
 col.prop(cam, "lens")
 elif cam.lens_unit == 'FOV':
@@ -133,7 +133,7 @@ class DATA_PT_lens(CameraButtonsPanel, Panel):
 
 class DATA_PT_camera_stereoscopy(CameraButtonsPanel, Panel):
 bl_label = "Stereoscopy"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 @classmethod
 def poll(cls, context):
@@ -181,7 +181,7 @@ class DATA_PT_camera_stereoscopy(CameraButtonsPanel, Panel):
 
 class DATA_PT_camera(CameraButtonsPanel, Panel):
 bl_label = "Camera"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw_header_preset(self, context):
 CAMERA_PT_presets.draw_panel_header(self.layout)
@@ -259,7 +259,7 @@ class DATA_PT_camera_dof_aperture(CameraButtonsPanel, 
Panel):
 class DATA_PT_camera_background_image(CameraButtonsPanel, Panel):
 bl_label = "Background Images"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw_header(self, context):
 cam = context.camera
@@ -360,7 +360,7 @@ class DATA_PT_camera_background_image(CameraButtonsPanel, 
Panel):
 class DATA_PT_camera_display(CameraButtonsPanel, Panel):
 bl_label = "Viewport Display"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -393,7 +393,7 @@ class DATA_PT_camera_display(CameraButtonsPanel, Panel):
 class DATA_PT_camera_safe_areas(CameraButtonsPanel, Panel):
 bl_label = "Safe Areas"
 bl_options = {'DEFAULT_CLOSED'}

[Bf-blender-cvs] [0b75e68500f] soc-2018-npr: Fixed lanpr field always NULL error. (caused by depsgraph scene copy)

2018-08-13 Thread Nick Wu
Commit: 0b75e68500f6eda1c3e92667b3bdaa8bf1a1026b
Author: Nick Wu
Date:   Tue Aug 14 13:39:44 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB0b75e68500f6eda1c3e92667b3bdaa8bf1a1026b

Fixed lanpr field always NULL error. (caused by depsgraph scene copy)

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 3188a0beaa9..460d3d1aad2 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -49,8 +49,12 @@
 #define tnsLinearItp(L, R, T) \
((L) * (1.0f - (T)) + (R)*(T))
 
+typedef struct LANPR_RenderBuffer LANPR_RenderBuffer;
 
-typedef struct LANPRSharedResource {
+typedef struct LANPR_SharedResource {
+
+   /* We only allocate once for all */
+   LANPR_RenderBuffer *render_buffer_shared;
 
/* Snake */
GPUShader *multichannel_shader;
@@ -76,7 +80,7 @@ typedef struct LANPRSharedResource {
int during_render;// get/set using access funcion which uses 
render_flag_lock to lock.
  // this prevents duplicate too much resource. 
(no render preview in viewport while rendering)
 
-} LANPRSharedResource;
+} LANPR_SharedResource;
 
 #define TNS_DPIX_TEXTURE_SIZE 2048
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 6f27be1bf2e..634d59ad8f3 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -25,7 +25,7 @@
 
 #include 
 
-extern LANPRSharedResource lanpr_share;
+extern LANPR_SharedResource lanpr_share;
 extern char datatoc_lanpr_dpix_project_passthrough_vert_glsl[];
 extern char datatoc_lanpr_dpix_project_clip_frag_glsl[];
 extern char datatoc_lanpr_dpix_preview_geom_glsl[];
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 7ba0427b65e..db35244ef1d 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -44,7 +44,7 @@ extern char datatoc_lanpr_software_passthrough_vert_glsl[];
 extern char datatoc_gpu_shader_2D_smooth_color_vert_glsl[];
 extern char datatoc_gpu_shader_2D_smooth_color_frag_glsl[];
 
-LANPRSharedResource lanpr_share;
+LANPR_SharedResource lanpr_share;
 
 
 static void lanpr_engine_init(void *ved){
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index fe0bb77351b..78a2e2f569a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -2620,6 +2620,8 @@ void lanpr_clear_render_state(LANPR_RenderBuffer *rb) {
 
 /* == render control 
=== */
 
+extern LANPR_SharedResource lanpr_share;
+
 void lanpr_destroy_render_data(LANPR_RenderBuffer *rb) {
LANPR_RenderElementLinkNode *reln;
 
@@ -2664,7 +2666,8 @@ void lanpr_destroy_render_data(LANPR_RenderBuffer *rb) {
 }
 
 LANPR_RenderBuffer *lanpr_create_render_buffer(SceneLANPR *lanpr) {
-   if (lanpr->render_buffer) {
+   if (lanpr_share.render_buffer_shared) {
+   lanpr->render_buffer = lanpr_share.render_buffer_shared;
lanpr_destroy_render_data(lanpr->render_buffer);
return lanpr->render_buffer;
//lanpr_destroy_render_data(lanpr->render_buffer);
@@ -2674,6 +2677,7 @@ LANPR_RenderBuffer *lanpr_create_render_buffer(SceneLANPR 
*lanpr) {
LANPR_RenderBuffer *rb = MEM_callocN(sizeof(LANPR_RenderBuffer), 
"creating LANPR render buffer");
 
lanpr->render_buffer = rb;
+   lanpr_share.render_buffer_shared = rb;
 
rb->cached_for_frame = -1;
 
@@ -2999,8 +3003,6 @@ void lanpr_viewport_draw_offline_result(LANPR_TextureList 
*txl, LANPR_Framebuffe
 
 void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float 
dist_threshold);
 
-extern LANPRSharedResource lanpr_share;
-
 void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int 
is_render) {
LANPR_LineLayer *ll;
LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
diff --git a/source/blender/draw/engines/lanpr/lanpr_snake.c 
b/source/blender/draw/engines/lanpr/lanpr_snake.c
index 319f089f8e9..9c53f10fca5 100644
--- a/source/blender/draw/engines/lanpr/lanpr_snake.c
+++ b/source/blender/draw/engines/lanpr/lanpr_snake.c
@@ -20,7 +20,7 @@
 #include "GPU_viewport.h"
 #include &q

[Bf-blender-cvs] [18cc07076d9] soc-2018-npr: Fixed taper on software side, merged tess modifier's osd adapter.

2018-08-10 Thread Nick Wu
Commit: 18cc07076d9995a96e5b86a768950198a0c2658a
Author: Nick Wu
Date:   Fri Aug 10 17:12:17 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB18cc07076d9995a96e5b86a768950198a0c2658a

Fixed taper on software side, merged tess modifier's osd adapter.

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cefcf402cbe] soc-2018-npr: Fixed taper on software side

2018-08-10 Thread Nick Wu
Commit: cefcf402cbe353a964dc5b06ffc9b0aadc261491
Author: Nick Wu
Date:   Fri Aug 10 17:13:57 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBcefcf402cbe353a964dc5b06ffc9b0aadc261491

Fixed taper on software side

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index feda61395d4..fe0bb77351b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3085,8 +3085,8 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb, int is_render)
  *trd = >taper_right_distance, *trs 
= >taper_right_strength;
 
DRW_shgroup_uniform_float(rb->ChainShgrp, 
"taper_l_dist", tld, 1);
-   DRW_shgroup_uniform_float(rb->ChainShgrp, 
"taper_r_dist", tls, 1);
-   DRW_shgroup_uniform_float(rb->ChainShgrp, 
"taper_l_strength", lanpr->use_same_taper ? tld : trd, 1);
+   DRW_shgroup_uniform_float(rb->ChainShgrp, 
"taper_l_strength", tls, 1);
+   DRW_shgroup_uniform_float(rb->ChainShgrp, 
"taper_r_dist", lanpr->use_same_taper ? tld : trd, 1);
DRW_shgroup_uniform_float(rb->ChainShgrp, 
"taper_r_strength", lanpr->use_same_taper ? tls : trs, 1);
 
//need to add component enable/disable option.

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [251dbabdf13] soc-2018-npr: Fixed enum in modifier IDs (npr tess modifier and a merged new one)

2018-08-10 Thread Nick Wu
Commit: 251dbabdf13bccae2264bffdc13b0f9133eccaa8
Author: Nick Wu
Date:   Fri Aug 10 16:18:31 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB251dbabdf13bccae2264bffdc13b0f9133eccaa8

Fixed enum in modifier IDs (npr tess modifier and a merged new one)

===

M   release/scripts/addons
M   source/blender/editors/mesh/editmesh_tools.c
M   source/blender/makesdna/DNA_modifier_types.h

===

diff --git a/release/scripts/addons b/release/scripts/addons
index 1a5f14657ee..c88411ff777 16
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 1a5f14657ee06ec2f520326032305dc1f2c5e2d5
+Subproject commit c88411ff7776a2db5d6ef6117a1b2faa42a95611
diff --git a/source/blender/editors/mesh/editmesh_tools.c 
b/source/blender/editors/mesh/editmesh_tools.c
index 9ed1a376edb..f09623d2f28 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -6918,7 +6918,7 @@ void MESH_OT_mark_freestyle_face(wmOperatorType *ot)
 
 /** \} */
 
-#endif  /* WITH_FREESTYLE */
+//#endif  /* WITH_FREESTYLE */
 
 /** Loop normals editing tools modal map. 
**/
 
diff --git a/source/blender/makesdna/DNA_modifier_types.h 
b/source/blender/makesdna/DNA_modifier_types.h
index f4939d87c2e..b7fc26771b4 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -91,7 +91,7 @@ typedef enum ModifierType {
eModifierType_MeshSequenceCache = 52,
eModifierType_SurfaceDeform = 53,
eModifierType_WeightedNormal= 54,
-   eModifierType_MyBMesh   = 54,
+   eModifierType_MyBMesh   = 55,
NUM_MODIFIER_TYPES
 } ModifierType;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [2d01210ea7f] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-08-10 Thread Nick Wu
Commit: 2d01210ea7f15838b139dd6c042f683033fe4bf8
Author: Nick Wu
Date:   Fri Aug 10 15:56:46 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB2d01210ea7f15838b139dd6c042f683033fe4bf8

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/datafiles/locale
#   release/scripts/addons_contrib
#   source/blender/editors/mesh/editmesh_tools.c
#   source/blender/editors/space_outliner/outliner_draw.c
#   source/blender/makesdna/DNA_modifier_types.h
#   source/blender/makesrna/intern/rna_modifier.c
#   source/blender/modifiers/MOD_modifiertypes.h
#   source/blender/modifiers/intern/MOD_util.c
#   source/tools

===



===

diff --cc source/blender/editors/mesh/mesh_intern.h
index fceaf6639f1,4a67dea9d4b..f0b5862f50f
--- a/source/blender/editors/mesh/mesh_intern.h
+++ b/source/blender/editors/mesh/mesh_intern.h
@@@ -240,11 -240,21 +240,21 @@@ void MESH_OT_duplicate(struct wmOperato
  void MESH_OT_merge(struct wmOperatorType *ot);
  void MESH_OT_remove_doubles(struct wmOperatorType *ot);
  void MESH_OT_poke(struct wmOperatorType *ot);
+ void MESH_OT_point_normals(struct wmOperatorType *ot);
+ void MESH_OT_merge_normals(struct wmOperatorType *ot);
+ void MESH_OT_split_normals(struct wmOperatorType *ot);
+ void MESH_OT_normals_tools(struct wmOperatorType *ot);
+ void MESH_OT_set_normals_from_faces(struct wmOperatorType *ot);
+ void MESH_OT_average_normals(struct wmOperatorType *ot);
+ void MESH_OT_smoothen_normals(struct wmOperatorType *ot);
+ void MESH_OT_mod_weighted_strength(struct wmOperatorType *ot);
+ 
+ struct wmKeyMap *point_normals_modal_keymap(wmKeyConfig *keyconf);
  
 -#ifdef WITH_FREESTYLE
 +//#ifdef WITH_FREESTYLE
  void MESH_OT_mark_freestyle_edge(struct wmOperatorType *ot);
  void MESH_OT_mark_freestyle_face(struct wmOperatorType *ot);
 -#endif
 +//#endif
  
  /* *** mesh_data.c *** */
  void MESH_OT_uv_texture_add(struct wmOperatorType *ot);
diff --cc source/blender/editors/space_outliner/outliner_draw.c
index e5ba3a78fcf,c52214b9846..115f5fa9057
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@@ -943,161 -943,159 +943,162 @@@ static void tselem_draw_icon
{
Object *ob = (Object *)tselem->id;
if (ob->type != OB_GPENCIL) {
 -  ModifierData *md = 
BLI_findlink(>modifiers, tselem->nr);
 -  switch ((ModifierType)md->type) {
 -  case eModifierType_Subsurf:
 -  
ICON_DRAW(ICON_MOD_SUBSURF);
 -  break;
 -  case eModifierType_Armature:
 -  
ICON_DRAW(ICON_MOD_ARMATURE);
 -  break;
 -  case eModifierType_Lattice:
 -  
ICON_DRAW(ICON_MOD_LATTICE);
 -  break;
 -  case eModifierType_Curve:
 -  
ICON_DRAW(ICON_MOD_CURVE);
 -  break;
 -  case eModifierType_Build:
 -  
ICON_DRAW(ICON_MOD_BUILD);
 -  break;
 -  case eModifierType_Mirror:
 -  
ICON_DRAW(ICON_MOD_MIRROR);
 -  break;
 -  case eModifierType_Decimate:
 -  
ICON_DRAW(ICON_MOD_DECIM);
 -  break;
 -  case eModifierType_Wave:
 -  
ICON_DRAW(ICON_MOD_WAVE);
 -  break;
 -  case eModifierType_Hook:
 -  ICON_DRAW(ICON_HOOK);
 -  break;
 -  case eModifierType_Softbody:
 -  
ICON_DRAW(ICON_MOD_SOFT);
 -  break;
 -   

[Bf-blender-cvs] [83c85c9c985] soc-2018-npr: Fixed shader variable naming style issue.

2018-08-10 Thread Nick Wu
Commit: 83c85c9c985e82c2437a64ab540b26d7f8cce3af
Author: Nick Wu
Date:   Fri Aug 10 15:51:08 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB83c85c9c985e82c2437a64ab540b26d7f8cce3af

Fixed shader variable naming style issue.

===

M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_snake_edge_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_image_peel_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_geom.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index daa141b539b..7ba0427b65e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -226,23 +226,23 @@ static void lanpr_cache_init(void *vedata){
 
psl->edge_intermediate = DRW_pass_create("Edge Detection", 
DRW_STATE_WRITE_COLOR);
stl->g_data->edge_detect_shgrp = 
DRW_shgroup_create(lanpr_share.edge_detect_shader, psl->edge_intermediate);
-   DRW_shgroup_uniform_texture_ref(stl->g_data->edge_detect_shgrp, 
"TexSample0", >depth);
-   DRW_shgroup_uniform_texture_ref(stl->g_data->edge_detect_shgrp, 
"TexSample1", >color);
-   DRW_shgroup_uniform_texture_ref(stl->g_data->edge_detect_shgrp, 
"TexSample2", >normal);
+   DRW_shgroup_uniform_texture_ref(stl->g_data->edge_detect_shgrp, 
"tex_sample_0", >depth);
+   DRW_shgroup_uniform_texture_ref(stl->g_data->edge_detect_shgrp, 
"tex_sample_1", >color);
+   DRW_shgroup_uniform_texture_ref(stl->g_data->edge_detect_shgrp, 
"tex_sample_2", >normal);
 
-   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"zNear", >g_data->znear, 1);
-   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"zfFar", >g_data->zfar, 1);
+   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"z_near", >g_data->znear, 1);
+   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"z_far", >g_data->zfar, 1);
 
-   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"uValue0", >g_data->normal_clamp, 1);// normal clamp
-   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"uValue1", >g_data->normal_strength, 1);// normal strength
-   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"uValue2", >g_data->depth_clamp, 1);// depth clamp
-   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"uValue3", >g_data->depth_strength, 1);// depth strength
+   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"normal_clamp", >g_data->normal_clamp, 1);// normal clamp
+   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"normal_strength", >g_data->normal_strength, 1);// normal strength
+   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"depth_clamp", >g_data->depth_clamp, 1);// depth clamp
+   DRW_shgroup_uniform_float(stl->g_data->edge_detect_shgrp, 
"depth_strength", >g_data->depth_strength, 1);// depth strength
DRW_shgroup_call_add(stl->g_data->edge_detect_shgrp, quad, 
NULL);
 
psl->edge_thinning = DRW_pass_create("Edge Thinning Stage 1", 
DRW_STATE_WRITE_COLOR);
stl->g_data->edge_thinning_shgrp = 
DRW_shgroup_create(lanpr_share.edge_thinning_shader, psl->edge_thinning);
-   
DRW_shgroup_uniform_texture_ref(stl->g_data->edge_thinning_shgrp, "TexSample0", 
>color);
-   DRW_shgroup_uniform_int(stl->g_data->edge_thinning_shgrp, 
"Stage", >g_data->stage, 1);
+   
DRW_shgroup_uniform_texture_ref(stl->g_data->edge_thinning_shgrp, 
"tex_sample_0", >color);
+   DRW_shgroup_uniform_int(stl->g_data->edge_thinning_shgrp, 
"stage", >g_data->stage, 1);
 

[Bf-blender-cvs] [89e9c1405c6] soc-2018-npr: Python panel engine adaptations

2018-08-10 Thread Nick Wu
Commit: 89e9c1405c68b94e11013954a8f3d853ceb5dc4a
Author: Nick Wu
Date:   Fri Aug 10 15:36:02 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB89e9c1405c68b94e11013954a8f3d853ceb5dc4a

Python panel engine adaptations

===

M   release/scripts/startup/bl_ui/properties_material.py
M   release/scripts/startup/bl_ui/properties_particle.py
M   release/scripts/startup/bl_ui/properties_physics_cloth.py
M   release/scripts/startup/bl_ui/properties_physics_common.py
M   release/scripts/startup/bl_ui/properties_physics_field.py
M   release/scripts/startup/bl_ui/properties_physics_fluid.py
M   release/scripts/startup/bl_ui/properties_physics_rigidbody.py
M   release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py
M   release/scripts/startup/bl_ui/properties_physics_softbody.py
M   release/scripts/startup/bl_ui/properties_view_layer.py
M   release/scripts/startup/bl_ui/properties_world.py

===

diff --git a/release/scripts/startup/bl_ui/properties_material.py 
b/release/scripts/startup/bl_ui/properties_material.py
index 5d12f762073..1dff164d987 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -73,7 +73,7 @@ class MATERIAL_PT_preview(MaterialButtonsPanel, Panel):
 
 
 class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel):
-COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_OPENGL', 'BLENDER_LANPR'}
 _context_path = "material"
 _property_type = bpy.types.Material
 
@@ -82,7 +82,7 @@ class 
EEVEE_MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
 bl_label = ""
 bl_context = "material"
 bl_options = {'HIDE_HEADER'}
-COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_OPENGL', 'BLENDER_LANPR'}
 
 @classmethod
 def poll(cls, context):
@@ -157,7 +157,7 @@ def panel_node_draw(layout, ntree, output_type):
 class EEVEE_MATERIAL_PT_surface(MaterialButtonsPanel, Panel):
 bl_label = "Surface"
 bl_context = "material"
-COMPAT_ENGINES = {'BLENDER_EEVEE'}
+COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_LANPR'}
 
 @classmethod
 def poll(cls, context):
@@ -185,7 +185,7 @@ class EEVEE_MATERIAL_PT_surface(MaterialButtonsPanel, 
Panel):
 class EEVEE_MATERIAL_PT_options(MaterialButtonsPanel, Panel):
 bl_label = "Options"
 bl_context = "material"
-COMPAT_ENGINES = {'BLENDER_EEVEE'}
+COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_LANPR'}
 
 @classmethod
 def poll(cls, context):
diff --git a/release/scripts/startup/bl_ui/properties_particle.py 
b/release/scripts/startup/bl_ui/properties_particle.py
index 393c9784be8..3e1da8c2567 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -67,7 +67,7 @@ def particle_get_settings(context):
 
 class PARTICLE_MT_specials(Menu):
 bl_label = "Particle Specials"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -88,7 +88,7 @@ class PARTICLE_PT_hair_dynamics_presets(PresetMenu):
 preset_subdir = "hair_dynamics"
 preset_operator = "script.execute_preset"
 preset_add_operator = "particle.hair_dynamics_preset_add"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 
 class ParticleButtonsPanel:
@@ -132,7 +132,7 @@ class PARTICLE_UL_particle_systems(bpy.types.UIList):
 class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
 bl_label = ""
 bl_options = {'HIDE_HEADER'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 @classmethod
 def poll(cls, context):
@@ -235,7 +235,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, 
Panel):
 
 class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
 bl_label = "Emission"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 @classmethod
 def poll(cls, context):
@@ -287,7 +287,7 @@ class PARTICLE_PT_emission_source(ParticleButtonsPanel, 
Panel):
 bl_label = "Source"
 bl_parent_id = "PARTICLE_PT_emission"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGIN

[Bf-blender-cvs] [4d7d0b60d1f] soc-2018-npr: Modified UI for background color display and line layer on DPIX. Added console warning for software rendering.

2018-08-09 Thread Nick Wu
Commit: 4d7d0b60d1f54219166c618d72d7725ccb058f59
Author: Nick Wu
Date:   Thu Aug 9 15:41:10 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB4d7d0b60d1f54219166c618d72d7725ccb058f59

Modified UI for background color display and line layer on DPIX. Added console 
warning for software rendering.

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index 858b04f1fcf..8fbf1631c1d 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -644,11 +644,10 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.prop(lanpr, "master_mode", expand=True) 
 
 if lanpr.master_mode == "DPIX" or lanpr.master_mode == "SOFTWARE":
-if lanpr.master_mode == "DPIX":
-layout.prop(lanpr, "reloaded")
+
+layout.prop(lanpr, "background_color")
 
 if lanpr.master_mode == "SOFTWARE":
-layout.prop(lanpr, "background_color")
 layout.label(text="Enable On Demand:")
 row = layout.row()
 row.prop(lanpr,"enable_intersections", text = "Intersection 
Lines")
@@ -680,12 +679,6 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.label(text="Vectorization:")
 layout.prop(lanpr, "enable_vector_trace", expand = True)
 
-#col = layout.column()
-#col.label(text="Enable:")
-#row = col.row(align=True)
-#row.prop(lanpr, "enable_edge_mark", text="Mark", toggle=True)
-#row.prop(lanpr, "enable_material_seperate", text="Material", 
toggle=True)
-
 
 class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
 bl_label = "Types"
@@ -704,6 +697,8 @@ class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
 scene = context.scene
 lanpr = scene.lanpr
 active_layer = lanpr.layers.active_layer
+if active_layer and lanpr.master_mode == "DPIX":
+active_layer = lanpr.layers[0]
 
 layout.operator("scene.lanpr_enable_all_line_types")
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 0916c2a7065..5d37e903ecb 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3018,7 +3018,10 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb, int is_render)
lanpr_rebuild_all_command(lanpr);
}
else {
-   if (lanpr_during_render()) return; // don't draw viewport 
during render
+   if (lanpr_during_render()) {
+   printf("LANPR Warning: To avoid resource duplication, 
viewport will not display when rendering is in progress\n");
+   return; // don't draw viewport during render
+   }
}
 
float clear_col[4] = { 1.0f, 0.0f, 0.0f, 1.0f };
@@ -3174,6 +3177,7 @@ static int lanpr_compute_feature_lines_exec(struct 
bContext *C, struct wmOperato
 
if (!scene->camera) {
BKE_report(op->reports, RPT_ERROR, "There is no active camera 
in this scene!");
+   printf("LANPR Warning: There is no active camera in this 
scene!\n");
return OPERATOR_FINISHED;
}

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ca07177f5b0] soc-2018-npr: Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into soc-2018-npr

2018-08-09 Thread Nick Wu
Commit: ca07177f5b07750ff6f5d9a14c0d5ca458125515
Author: Nick Wu
Date:   Wed Aug 8 21:55:54 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBca07177f5b07750ff6f5d9a14c0d5ca458125515

Merge branch 'npr_tess' of https://github.com/DarkDefender/blender into 
soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d9b0c6711ed] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-08-07 Thread Nick Wu
Commit: d9b0c6711ed65b5ba2c59ac1ddb9555067d69c0e
Author: Nick Wu
Date:   Tue Aug 7 19:57:07 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBd9b0c6711ed65b5ba2c59ac1ddb9555067d69c0e

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [80e3a977442] soc-2018-npr: Adapted shader APIs to DRW_

2018-08-03 Thread Nick Wu
Commit: 80e3a977442214cc63a4ce28cb5d8404a62b733a
Author: Nick Wu
Date:   Sat Aug 4 09:53:03 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB80e3a977442214cc63a4ce28cb5d8404a62b733a

Adapted shader APIs to DRW_

===

M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 131ee3e6fad..6f27be1bf2e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -78,18 +78,19 @@ void lanpr_init_atlas_inputs(void *ved){
 
if (!lanpr_share.dpix_transform_shader) {
lanpr_share.dpix_transform_shader =
-   GPU_shader_create(
+   DRW_shader_create(

datatoc_lanpr_dpix_project_passthrough_vert_glsl,
+   NULL,
datatoc_lanpr_dpix_project_clip_frag_glsl,
-   NULL, NULL, NULL);
+   NULL);
}
if (!lanpr_share.dpix_preview_shader) {
lanpr_share.dpix_preview_shader =
-   GPU_shader_create(
+   DRW_shader_create(

datatoc_lanpr_dpix_project_passthrough_vert_glsl,
-   datatoc_lanpr_dpix_preview_frag_glsl,
datatoc_lanpr_dpix_preview_geom_glsl,
-   NULL, NULL);
+   datatoc_lanpr_dpix_preview_frag_glsl,
+   NULL);
}
 }
 void lanpr_destroy_atlas(void *ved){
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 5bcb7ae1a61..daa141b539b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -107,32 +107,38 @@ static void lanpr_engine_init(void *ved){
 
if (!lanpr_share.multichannel_shader) {
lanpr_share.multichannel_shader =
-   GPU_shader_create(
+   DRW_shader_create(

datatoc_gpu_shader_3D_normal_smooth_color_vert_glsl,
-   datatoc_lanpr_snake_multichannel_frag_glsl, 
NULL, NULL, NULL);
+   NULL,
+   datatoc_lanpr_snake_multichannel_frag_glsl, 
+   NULL);
 
}
if (!lanpr_share.edge_detect_shader) {
lanpr_share.edge_detect_shader =
-   GPU_shader_create(
+   DRW_shader_create(
datatoc_common_fullscreen_vert_glsl,
-   datatoc_lanpr_snake_edge_frag_glsl, NULL, NULL, 
NULL);
+   NULL,
+   datatoc_lanpr_snake_edge_frag_glsl,
+   NULL);
 
}
if (!lanpr_share.edge_thinning_shader) {
lanpr_share.edge_thinning_shader =
-   GPU_shader_create(
+   DRW_shader_create(
datatoc_common_fullscreen_vert_glsl,
-   datatoc_lanpr_snake_image_peel_frag_glsl, NULL, 
NULL, NULL);
+   NULL,
+   datatoc_lanpr_snake_image_peel_frag_glsl, 
+   NULL);
 
}
if (!lanpr_share.snake_connection_shader) {
lanpr_share.snake_connection_shader =
-   GPU_shader_create(
+   DRW_shader_create(
datatoc_lanpr_snake_line_connection_vert_glsl,
-   datatoc_lanpr_snake_line_connection_frag_glsl,
datatoc_lanpr_snake_line_connection_geom_glsl,
-   NULL, NULL);
+   datatoc_lanpr_snake_line_connection_frag_glsl,
+   NULL);
}
 
/* DPIX */
@@ -141,20 +147,20 @@ static void lanpr_engine_init(void *ved){
/* SOFTWARE */
if (!lanpr_share.software_shader) {
lanpr_share.software_shader =
-   GPU_shader_create(
+   DRW_shader_create(
datatoc_lanpr_software_passthrough_vert_glsl,
-   datatoc_lanpr_dpix_preview_frag_glsl,
datatoc_lanpr_software_line_chain_geom_glsl,
-   NULL, NULL);
+   datatoc_lanpr_dpix_preview_frag_glsl

[Bf-blender-cvs] [356dc7892bf] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-08-03 Thread Nick Wu
Commit: 356dc7892bfb08a22dc527b410527033e2cff877
Author: Nick Wu
Date:   Sat Aug 4 09:34:15 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB356dc7892bfb08a22dc527b410527033e2cff877

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [44f0f142326] soc-2018-npr: Fixed software triangle and render line culling bug. (crappy, but works correctly)

2018-08-01 Thread Nick Wu
Commit: 44f0f1423264f6ad8249325f5c41f1c83bdc565d
Author: Nick Wu
Date:   Wed Aug 1 23:19:44 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB44f0f1423264f6ad8249325f5c41f1c83bdc565d

Fixed software triangle and render line culling bug. (crappy, but works 
correctly)

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index b23e39b5353..0916c2a7065 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -424,7 +424,7 @@ void lanpr_add_triangles(LANPR_RenderBuffer *rb) {
lim = reln->ElementCount;
for (i = 0; i < lim; i++) {
if (rt->CullStatus) {
-   (void *)(((BYTE *)rt) + rb->TriangleSize); 
continue;
+   rt = (void *)(((BYTE *)rt) + rb->TriangleSize); 
continue;
}
if (lanpr_get_triangle_bounding_areas(rb, rt, , , 
, )) {
for (co = x1; co <= x2; co++) {
@@ -1058,9 +1058,13 @@ void lanpr_post_triangle(LANPR_RenderTriangle *rt, 
LANPR_RenderTriangle *orig) {
 
tMatVectorCopy3d(orig->GN, rt->GN);
 }
+
+#define RT_AT(head, rb, offset) \
+   ((BYTE *)head + offset * rb->TriangleSize)
+
 void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
LANPR_RenderLine *rl;
-   LANPR_RenderTriangle *rt, *rt1;
+   LANPR_RenderTriangle *rt, *rt1, *rt2;
LANPR_RenderVert *rv;
LANPR_RenderElementLinkNode *reln, *veln, *teln;
LANPR_RenderLineSegment *rls;
@@ -1082,9 +1086,9 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
for (i; i < reln->ElementCount; i++) {
int In1 = 0, In2 = 0, In3 = 0;
rt = (void *)(((BYTE *)reln->Pointer) + 
rb->TriangleSize * i);
-   if (rt->V[0]->FrameBufferCoord[3] < 0) In1 = 1;
-   if (rt->V[1]->FrameBufferCoord[3] < 0) In2 = 1;
-   if (rt->V[2]->FrameBufferCoord[3] < 0) In3 = 1;
+   if (rt->V[0]->FrameBufferCoord[2] < 0) In1 = 1;
+   if (rt->V[1]->FrameBufferCoord[2] < 0) In2 = 1;
+   if (rt->V[2]->FrameBufferCoord[2] < 0) In3 = 1;
 
rt->RL[0]->ObjectRef = o;
rt->RL[1]->ObjectRef = o;
@@ -1109,7 +1113,8 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
}
 
rv = &((LANPR_RenderVert *)veln->Pointer)[v_count];
-   rt1 = &((LANPR_RenderTriangle *)teln->Pointer)[t_count];
+   rt1 = (void *)(((BYTE *)teln->Pointer) + 
rb->TriangleSize * t_count);
+   rt2 = (void *)(((BYTE *)teln->Pointer) + 
rb->TriangleSize * (t_count + 1));
 
 
switch (In1 + In2 + In3) {
@@ -1117,6 +1122,9 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
continue;
case 3:
rt->CullStatus = TNS_CULL_DISCARD;
+   BLI_remlink(>AllRenderLines, (void 
*)rt->RL[0]); rt->RL[0]->Item.pNext = rt->RL[0]->Item.pPrev = 0;
+   BLI_remlink(>AllRenderLines, (void 
*)rt->RL[1]); rt->RL[1]->Item.pNext = rt->RL[1]->Item.pPrev = 0;
+   BLI_remlink(>AllRenderLines, (void 
*)rt->RL[2]); rt->RL[2]->Item.pNext = rt->RL[2]->Item.pPrev = 0;
continue;
case 2:
rt->CullStatus = TNS_CULL_USED;
@@ -1135,9 +1143,9 @@ void lanpr_cull_triangles(LANPR_RenderBuffer *rb) {
rv[1].FrameBufferCoord[3] = (1 
- a) * rt->V[0]->FrameBufferCoord[3] + a * rt->V[1]->FrameBufferCoord[3];

tMatApplyTransform44dTrue(rv[1].GLocation, mv_inverse, rv[1].FrameBufferCoord);
 
-   
BLI_remlink(>AllRenderLines, (void *)rt->RL[0]);
-   
BLI_remlink(>AllRenderLines, (void *)rt->RL[1]);
-   
BLI_remlink(>AllRenderLines, (void *)rt->RL[2]);
+   
BLI_remlink(>AllRenderLines, (void *)rt->RL[0]); rt->RL[0]->Item.pNext = 
rt->RL[0]->Item.pPrev

[Bf-blender-cvs] [d2f77ce653c] soc-2018-npr: Uncrustify processed.

2018-08-01 Thread Nick Wu
Commit: d2f77ce653cf0daac253328675536dc61132f142
Author: Nick Wu
Date:   Wed Aug 1 20:29:17 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBd2f77ce653cf0daac253328675536dc61132f142

Uncrustify processed.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_util.c
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_frag.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_passthrough_vert.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_snake_edge_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_image_peel_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_frag.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_vert.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl
M   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_passthrough_vert.glsl
M   source/blender/makesdna/DNA_lamp_types.h
M   source/blender/makesdna/DNA_lanpr_types.h
M   source/blender/makesdna/DNA_scene_types.h
M   source/blender/makesrna/intern/rna_lanpr.c
M   source/blender/makesrna/intern/rna_scene.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 99660b88ad9..3188a0beaa9 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -73,8 +73,8 @@ typedef struct LANPRSharedResource {
int init_complete;
 
SpinLock render_flag_lock;
-   int  during_render;   // get/set using access funcion which uses 
render_flag_lock to lock.
- // this prevents duplicate 
too much resource. (no render preview in viewport while rendering)
+   int during_render;// get/set using access funcion which uses 
render_flag_lock to lock.
+ // this prevents duplicate too much resource. 
(no render preview in viewport while rendering)
 
 } LANPRSharedResource;
 
@@ -321,7 +321,7 @@ typedef struct LANPR_RenderBuffer {
 
//render status
 
-   int  cached_for_frame;
+   int cached_for_frame;
 
real ViewVector[3];
 
@@ -353,8 +353,8 @@ typedef struct LANPR_RenderBuffer {
ListBase EdgeMarks;
 
ListBase Chains;
-   GPUBatch*  ChainDrawBatch;
-   DRWShadingGroup* ChainShgrp;
+   GPUBatch *ChainDrawBatch;
+   DRWShadingGroup *ChainShgrp;
 
SpinLock csInfo;
SpinLock csData;
@@ -469,17 +469,17 @@ typedef struct LANPR_RenderLine {
 }LANPR_RenderLine;
 
 typedef struct LANPR_RenderLineChain {
-   nListItem   Item;
+   nListItem Item;
ListBase Chain;
//int SegmentCount;  // we count before draw cmd.
-   float   Length;  // calculated before draw cmd.
+   float Length;// calculated before draw cmd.
 }LANPR_RenderLineChain;
 
 typedef struct LANPR_RenderLineChainItem {
-   nListItem   Item;
-   float   pos[3]; // need z value for fading
-   charLineType;  //  style of [1]   style of [2]
-   charOcclusionLevel;  // 
[1]--->[2]>[3]--
+   nListItem Item;
+   float pos[3];   // need z value for fading
+   char LineType; //  style of [1]   style of [2]
+   char OcclusionLevel; // 
[1]--->[2]>[3]--
 }LANPR_RenderLineChainItem;
 
 typedef struct LANPR_BoundingArea {
@@ -598,7 +598,7 @@ BLI_INLINE int 
lanpr_TrangleLineBoundBoxTest(LANPR_RenderTriangle *rt, LANPR_Ren
 }
 
 BLI_INLINE double tMatGetLinearRatio(real L, real R, real FromL);
-BLI_INLINE int lanpr_LineIntersectTest2d(const double* a1, const double* a2, 
const double* b1, const double* b2, double *aRatio) {
+BLI_INLINE int lanpr_LineIntersectTest2d(const double *a1, const double *a2, 
const double *b1, const double *b2, double *aRatio) {
double k1, k2;
double x;
double y;
diff --git a/source/blender/draw/engines/lanpr/lanp

[Bf-blender-cvs] [7866c2fb05e] soc-2018-npr: potentially fixed drawing command conflict error in F12

2018-08-01 Thread Nick Wu
Commit: 7866c2fb05e6cb90f651fada81336f18842def9d
Author: Nick Wu
Date:   Wed Aug 1 18:50:08 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7866c2fb05e6cb90f651fada81336f18842def9d

potentially fixed drawing command conflict error in F12

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_engine.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 881f1e2412c..99660b88ad9 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -802,7 +802,7 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
 
 void lanpr_snake_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList 
*fbl, LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, 
GPUFrameBuffer *DefaultFB, int is_render);
 
-void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb);
+void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int 
is_render);
 
 void lanpr_set_render_flag();
 void lanpr_clear_render_flag();
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index fa9bf03b3aa..e75ee0f10f9 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -495,6 +495,8 @@ static void lanpr_render_to_image(LANPR_Data *vedata, 
RenderEngine *engine, stru
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR* lanpr = >lanpr;
 
+   lanpr_set_render_flag();
+
if (lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE ||
(lanpr->master_mode == LANPR_MASTER_MODE_DPIX && 
lanpr->enable_intersections)) {
if (!lanpr->render_buffer) lanpr_create_render_buffer(lanpr);
@@ -503,8 +505,6 @@ static void lanpr_render_to_image(LANPR_Data *vedata, 
RenderEngine *engine, stru
}
}
 
-   lanpr_set_render_flag();
-
workbench_render_matrices_init(engine, draw_ctx->depsgraph);
 
/* refered to eevee's code */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [64c25782286] soc-2018-npr: Fixed software rendering intersection cache update

2018-08-01 Thread Nick Wu
Commit: 64c257822862742cff1aace99123f568d6834c37
Author: Nick Wu
Date:   Wed Aug 1 16:19:34 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB64c257822862742cff1aace99123f568d6834c37

Fixed software rendering intersection cache update

===

M   source/blender/blenloader/intern/readfile.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/makesdna/DNA_scene_types.h

===

diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 35d12fcbeae..40f157f9ae9 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6523,6 +6523,8 @@ static void direct_link_scene(FileData *fd, Scene *sce)
link_list(fd, >lanpr.line_layers);
for (LANPR_LineLayer *ll = sce->lanpr.line_layers.first; ll; ll = 
ll->next) {
link_list(fd, >components);
+   ll->batch = NULL;
+   ll->shgrp = NULL;
}
 
sce->layer_properties = newdataadr(fd, sce->layer_properties);
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index d9154e86b9c..7fdacdaccab 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -375,7 +375,7 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
pd->dpix_zfar = camera ? ((Camera *)camera->data)->clipend : v3d->far;
 
GPU_point_size(1);
-   GPU_line_width(2);
+   //GPU_line_width(2);
GPU_framebuffer_bind(fbl->dpix_transform);
DRW_draw_pass(psl->dpix_transform_pass);
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 50e64bc0ed5..fa9bf03b3aa 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -484,6 +484,9 @@ static void workbench_render_matrices_init(RenderEngine 
*engine, Depsgraph *deps
DRW_viewport_matrix_override_set(viewinv, DRW_MAT_VIEWINV);
 }
 
+int lanpr_compute_feature_lines_internal(Depsgraph *depsgraph, SceneLANPR* 
lanpr, Scene* scene) ;
+LANPR_RenderBuffer *lanpr_create_render_buffer(SceneLANPR *lanpr);
+
 static void lanpr_render_to_image(LANPR_Data *vedata, RenderEngine *engine, 
struct RenderLayer *render_layer, const rcti *rect){
LANPR_StorageList *stl = vedata->stl;
LANPR_TextureList *txl = vedata->txl;
@@ -492,6 +495,14 @@ static void lanpr_render_to_image(LANPR_Data *vedata, 
RenderEngine *engine, stru
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR* lanpr = >lanpr;
 
+   if (lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE ||
+   (lanpr->master_mode == LANPR_MASTER_MODE_DPIX && 
lanpr->enable_intersections)) {
+   if (!lanpr->render_buffer) lanpr_create_render_buffer(lanpr);
+   if(lanpr->render_buffer->cached_for_frame != scene->r.cfra){
+   
lanpr_compute_feature_lines_internal(draw_ctx->depsgraph, lanpr, scene);
+   }
+   }
+
lanpr_set_render_flag();
 
workbench_render_matrices_init(engine, draw_ctx->depsgraph);
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 1fe09093ac5..91bbb34370e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -2666,6 +2666,8 @@ LANPR_RenderBuffer *lanpr_create_render_buffer(SceneLANPR 
*lanpr) {
 
lanpr->render_buffer = rb;
 
+   rb->cached_for_frame = -1;
+
BLI_spin_init(>csData);
BLI_spin_init(>csInfo);
BLI_spin_init(>csManagement);
@@ -3111,28 +3113,9 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb,int is_render)
 
 /*  operators 
= */
 
-//seems we don't quite need this operator...
-static int lanpr_clear_render_buffer_exec(struct bContext *C, struct 
wmOperator *op) {
-   Scene *scene = CTX_data_scene(C);
-   SceneLANPR *lanpr = >lanpr;
+int lanpr_compute_feature_lines_internal(Depsgraph *depsgraph, SceneLANPR* 
lanpr, Scene* scene) {
LANPR_RenderBuffer *rb;
-   Depsgraph *depsgraph = CTX_data_depsgraph(C);
 
-   lanpr_destroy_render_data(lanpr->render_buffer);
-
-   return OPERATOR_FINISHED;
-}
-static int lanpr_compute_feature_lines_exec(struct bContext *C, struct 
wmOperator *op){
-   Scene *scene = CTX_data_scene(C);
-   S

[Bf-blender-cvs] [3b36c698cd1] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-07-31 Thread Nick Wu
Commit: 3b36c698cd13ff01cd718ad633070eaef15fdc2c
Author: Nick Wu
Date:   Wed Aug 1 10:15:47 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3b36c698cd13ff01cd718ad633070eaef15fdc2c

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib
#   release/scripts/startup/bl_ui/properties_scene.py
#   source/blender/draw/CMakeLists.txt
#   source/blender/editors/space_outliner/outliner_draw.c

===



===

diff --cc release/scripts/startup/bl_ui/properties_scene.py
index 8bf22bd3b16,e324e7a9882..a8598e2ddcb
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@@ -568,363 -568,37 +568,391 @@@ class SCENE_PT_simplify_render(SceneBut
  col.prop(rd, "simplify_child_particles_render", text="Max Child 
Particles")
  
  
+ class SCENE_PT_simplify_greasepencil(SceneButtonsPanel, Panel):
+ bl_label = "Grease Pencil"
+ bl_parent_id = "SCENE_PT_simplify"
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY', 
'BLENDER_EEVEE'}
+ bl_options = {'DEFAULT_CLOSED'}
+ 
+ def draw_header(self, context):
+ rd = context.scene.render
+ self.layout.prop(rd, "simplify_gpencil", text="")
+ 
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ 
+ rd = context.scene.render
+ 
+ layout.active = rd.simplify_gpencil
+ 
+ col = layout.column()
+ col.prop(rd, "simplify_gpencil_onplay", text="Playback Only")
+ col.prop(rd, "simplify_gpencil_view_modifier", text="Modifiers")
+ 
+ col = layout.column(align=True)
+ col.prop(rd, "simplify_gpencil_view_fill")
+ sub = col.column()
+ sub.active = rd.simplify_gpencil_view_fill
+ sub.prop(rd, "simplify_gpencil_remove_lines", text="Lines")
+ 
 +class SCENE_PT_viewport_display(SceneButtonsPanel, Panel):
 +bl_label = "Viewport Display"
 +bl_options = {'DEFAULT_CLOSED'}
 +
 +@classmethod
 +def poll(cls, context):
 +return True
 +
 +def draw(self, context):
 +layout = self.layout
 +layout.use_property_split = True
 +scene = context.scene
 +col = layout.column()
 +col.prop(scene.display, "light_direction")
 +col.prop(scene.display, "shadow_shift")
 +
 +class LANPR_linesets(UIList):
 +def draw_item(self, context, layout, data, item, icon, active_data, 
active_propname, index):
 +lineset = item
 +if self.layout_type in {'DEFAULT', 'COMPACT'}:
 +split = layout.split(percentage=0.6)
 +split.label(text="Layer")
 +row = split.row(align=True)
 +row.prop(lineset, "color", text="", icon_value=icon)
 +row.prop(lineset, "thickness", text="", icon_value=icon)
 +elif self.layout_type == 'GRID':
 +layout.alignment = 'CENTER'
 +layout.label("", icon_value=icon)
 +
 +class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 +COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_LANPR', 'BLENDER_OPENGL'}
 +bl_label = "LANPR"
 +bl_options = {'DEFAULT_CLOSED'}
 +
 +@classmethod
 +def poll(cls, context):
 +return True
 +
 +def draw(self, context):
 +layout = self.layout
 +scene = context.scene
 +lanpr = scene.lanpr
 +active_layer = lanpr.layers.active_layer
 +
 +layout.prop(lanpr, "master_mode", expand=True) 
 +
 +if lanpr.master_mode == "DPIX" or lanpr.master_mode == "SOFTWARE":
 +if lanpr.master_mode == "DPIX":
 +layout.prop(lanpr, "reloaded")
 +
 +if lanpr.master_mode == "SOFTWARE":
 +layout.prop(lanpr, "background_color")
 +layout.label(text="Enable On Demand:")
 +row = layout.row()
 +row.prop(lanpr,"enable_intersections", text = "Intersection 
Lines")
 +row.prop(lanpr,"enable_chaining", text = "Chaining (SLOW!)")
 +layout.label(text="RUN:")
 +layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
 +
 +split = layout.split(percentage=0.7)
 +col = split.column()
 +col.label(text="Layer Composition:")
 +col = split.column()
 +col.operator("scene.lanpr

[Bf-blender-cvs] [9b06c78676a] soc-2018-npr: Adapted multisample functions.

2018-07-31 Thread Nick Wu
Commit: 9b06c78676ad170d971a0f69ddd4e48c10b0db79
Author: Nick Wu
Date:   Wed Aug 1 12:08:05 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB9b06c78676ad170d971a0f69ddd4e48c10b0db79

Adapted multisample functions.

===

M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 8cde4080125..d9154e86b9c 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -386,5 +386,5 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
 
GPU_framebuffer_bind(DefaultFB);
GPU_framebuffer_clear(DefaultFB, clear_bits, lanpr->background_color, 
clear_depth, clear_stencil);
-   DRW_multisamples_resolve(txl->depth, txl->color);
+   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 }
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index a5beb05368c..1fe09093ac5 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -2982,7 +2982,7 @@ void lanpr_viewport_draw_offline_result(LANPR_TextureList 
*txl, LANPR_Framebuffe
 
GPU_framebuffer_bind(dfbl->default_fb);
GPU_framebuffer_clear(dfbl->default_fb, clear_bits, 
lanpr->background_color, clear_depth, clear_stencil);
-   DRW_multisamples_resolve(txl->depth, txl->color);
+   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 }
 
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_snake.c 
b/source/blender/draw/engines/lanpr/lanpr_snake.c
index 4843d831af3..fcb3b0552b8 100644
--- a/source/blender/draw/engines/lanpr/lanpr_snake.c
+++ b/source/blender/draw/engines/lanpr/lanpr_snake.c
@@ -349,7 +349,7 @@ void lanpr_snake_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl,
 
if ((!lanpr->enable_vector_trace) && (!lanpr->display_thinning_result)) 
{
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->edge_intermediate);
+   DRW_multisamples_resolve(txl->depth, txl->edge_intermediate, 1);
return;
}
 
@@ -357,30 +357,30 @@ void lanpr_snake_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl,
pd->stage = 0;
 
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->edge_intermediate);
+   DRW_multisamples_resolve(txl->depth, txl->edge_intermediate, 1);
 
GPU_framebuffer_bind(fbl->edge_thinning);
DRW_draw_pass(psl->edge_thinning);
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->color);
+   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 
pd->stage = 1;
GPU_framebuffer_bind(fbl->edge_thinning);
DRW_draw_pass(psl->edge_thinning);
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->color);
+   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 
pd->stage = 0;
GPU_framebuffer_bind(fbl->edge_thinning);
DRW_draw_pass(psl->edge_thinning);
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->color);
+   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 
pd->stage = 1;
GPU_framebuffer_bind(fbl->edge_thinning);
DRW_draw_pass(psl->edge_thinning);
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->color);
+   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 
if (!lanpr->enable_vector_trace) return;
}
@@ -485,6 +485,6 @@ void lanpr_snake_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl,
pd->line_strips.first = pd->line_strips.last = 0;
 
GPU_framebuffer_bind(DefaultFB);
-   DRW_multisamples_resolve(txl->depth, txl->edge_intermediate);
+   DRW_multisamples_resolve(txl->depth, txl->edge_intermediate, 1);
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [002712d04c3] soc-2018-npr: Merge branch 'soc-2018-npr' of git.blender.org:blender into soc-2018-npr

2018-07-30 Thread Nick Wu
Commit: 002712d04c356924b17e0cc71d28a552ea2f8a97
Author: Nick Wu
Date:   Mon Jul 30 23:20:28 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB002712d04c356924b17e0cc71d28a552ea2f8a97

Merge branch 'soc-2018-npr' of git.blender.org:blender into soc-2018-npr

# Conflicts:
#   release/scripts/startup/bl_ui/properties_scene.py

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [927c7aae0dd] soc-2018-npr: Added init code for default LANPR values. Fixed render and scene panels to accept LANPR engine.

2018-07-30 Thread Nick Wu
Commit: 927c7aae0dd074792009c0b0c9f3df2e630dcddc
Author: Nick Wu
Date:   Mon Jul 30 23:19:17 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB927c7aae0dd074792009c0b0c9f3df2e630dcddc

Added init code for default LANPR values. Fixed render and scene panels to 
accept LANPR engine.

===

M   release/scripts/startup/bl_ui/properties_render.py
M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/blenkernel/intern/scene.c
M   source/blender/blenloader/intern/versioning_280.c
M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/makesdna/DNA_scene_types.h
M   source/blender/makesrna/intern/rna_scene.c

===

diff --git a/release/scripts/startup/bl_ui/properties_render.py 
b/release/scripts/startup/bl_ui/properties_render.py
index 1c26d172e4c..0805684ebcf 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -84,7 +84,7 @@ class RENDER_PT_context(Panel):
 
 class RENDER_PT_dimensions(RenderButtonsPanel, Panel):
 bl_label = "Dimensions"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 _frame_rate_args_prev = None
 _preset_class = None
@@ -172,7 +172,7 @@ class RENDER_PT_frame_remapping(RenderButtonsPanel, Panel):
 bl_label = "Time Remapping"
 bl_parent_id = "RENDER_PT_dimensions"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -189,7 +189,7 @@ class RENDER_PT_frame_remapping(RenderButtonsPanel, Panel):
 class RENDER_PT_post_processing(RenderButtonsPanel, Panel):
 bl_label = "Post Processing"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -207,7 +207,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, Panel):
 class RENDER_PT_stamp(RenderButtonsPanel, Panel):
 bl_label = "Metadata"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -248,7 +248,7 @@ class RENDER_PT_stamp_burn(RenderButtonsPanel, Panel):
 bl_label = "Burn Into Image"
 bl_parent_id = "RENDER_PT_stamp"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw_header(self, context):
 rd = context.scene.render
@@ -272,7 +272,7 @@ class RENDER_PT_stamp_burn(RenderButtonsPanel, Panel):
 
 class RENDER_PT_output(RenderButtonsPanel, Panel):
 bl_label = "Output"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw(self, context):
 layout = self.layout
@@ -304,7 +304,7 @@ class RENDER_PT_output(RenderButtonsPanel, Panel):
 class RENDER_PT_encoding(RenderButtonsPanel, Panel):
 bl_label = "Encoding"
 bl_options = {'DEFAULT_CLOSED'}
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 
 def draw_header_preset(self, context):
 RENDER_PT_ffmpeg_presets.draw_panel_header(self.layout)
@@ -401,7 +401,7 @@ class RENDER_UL_renderviews(UIList):
 
 class RENDER_PT_stereoscopy(RenderButtonsPanel, Panel):
 bl_label = "Stereoscopy"
-COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
+COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
 bl_options = {'DEFAULT_CLOSED'}
 
 def draw_header(self, context):
diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index b609e2322b6..8bf22bd3b16 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -66,7 +66,7 @@ class SceneButtonsPanel:
 
 class SCENE_PT_scene(SceneButtonsPanel, Panel):
 bl_label = "Scene"
-COMPAT_ENGINES =

[Bf-blender-cvs] [67d1949c5bb] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-07-30 Thread Nick Wu
Commit: 67d1949c5bb87f284485358cb3da5f422aab2dfa
Author: Nick Wu
Date:   Mon Jul 30 18:27:46 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB67d1949c5bb87f284485358cb3da5f422aab2dfa

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/addons
#   release/scripts/addons_contrib

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [63921c65e94] soc-2018-npr: changed most of the list API into BLI_'s. Removed many unused functions

2018-07-30 Thread Nick Wu
Commit: 63921c65e9480b8004c2807a96fa8cc3835dc1d8
Author: Nick Wu
Date:   Mon Jul 30 18:26:15 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB63921c65e9480b8004c2807a96fa8cc3835dc1d8

changed most of the list API into BLI_'s. Removed many unused functions

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_util.c
M   source/blender/draw/engines/lanpr/lanpr_util.h

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 50365298de7..4e2b50c432b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -264,16 +264,16 @@ typedef struct LANPR_RenderTaskInfo {
int ThreadID;
 
struct nListItemPointer *Contour;
-   nListHandle ContourPointers;
+   ListBase ContourPointers;
 
struct nListItemPointer *Intersection;
-   nListHandle IntersectionPointers;
+   ListBase IntersectionPointers;
 
struct nListItemPointer *Crease;
-   nListHandle CreasePointers;
+   ListBase CreasePointers;
 
struct nListItemPointer *Material;
-   nListHandle MaterialPointers;
+   ListBase MaterialPointers;
 
 } LANPR_RenderTaskInfo;
 
@@ -304,12 +304,12 @@ typedef struct LANPR_RenderBuffer {
//u32bit BaVBO;
//u32bit   BaFillVBO;
 
-   nListHandle VertexBufferPointers;
-   nListHandle LineBufferPointers;
-   nListHandle TriangleBufferPointers;
-   nListHandle AllRenderLines;
+   ListBase VertexBufferPointers;
+   ListBase LineBufferPointers;
+   ListBase TriangleBufferPointers;
+   ListBase AllRenderLines;
 
-   nListHandle IntersectingVertexBuffer;
+   ListBase IntersectingVertexBuffer;
 
struct GPUBatch *DPIXIntersectionTransformBatch;
struct GPUBatch *DPIXIntersectionBatch;
@@ -330,29 +330,29 @@ typedef struct LANPR_RenderBuffer {
u32bit ContourCount;
u32bit ContourProcessed;
nListItemPointer *ContourManaged;
-   nListHandle Contours;
+   ListBase Contours;
 
u32bit IntersectionCount;
u32bit IntersectionProcessed;
nListItemPointer *IntersectionManaged;
-   nListHandle IntersectionLines;
+   ListBase IntersectionLines;
 
u32bit CreaseCount;
u32bit CreaseProcessed;
nListItemPointer *CreaseManaged;
-   nListHandle CreaseLines;
+   ListBase CreaseLines;
 
u32bit MaterialLineCount;
u32bit MaterialProcessed;
nListItemPointer *MaterialManaged;
-   nListHandle MaterialLines;
+   ListBase MaterialLines;
 
u32bit EdgeMarkCount;
u32bit EdgeMarkProcessed;
nListItemPointer *EdgeMarkManaged;
-   nListHandle EdgeMarks;
+   ListBase EdgeMarks;
 
-   nListHandle Chains;
+   ListBase Chains;
GPUBatch*  ChainDrawBatch;
DRWShadingGroup* ChainShgrp;
 
@@ -407,7 +407,7 @@ typedef struct LANPR_RenderTriangle {
real GC[3];
//struct BMFace *F;
short MaterialID;
-   nListHandle IntersectingVerts;
+   ListBase IntersectingVerts;
char CullStatus;
struct LANPR_RenderTriangle *Testing;   //Should Be tRT** 
Testing[NumOfThreads]
 }LANPR_RenderTriangle;
@@ -460,7 +460,7 @@ typedef struct LANPR_RenderLine {
nListItem Item;
struct LANPR_RenderVert *L, *R;
struct LANPR_RenderTriangle *TL, *TR;
-   nListHandle Segments;
+   ListBase Segments;
//tnsEdge*   Edge;//should be edge material
//tnsRenderTriangle* Testing;//Should Be tRT** Testing[NumOfThreads]
char MinOcclude;
@@ -470,7 +470,7 @@ typedef struct LANPR_RenderLine {
 
 typedef struct LANPR_RenderLineChain {
nListItem   Item;
-   nListHandle Chain;
+   ListBase Chain;
//int SegmentCount;  // we count before draw cmd.
float   Length;  // calculated before draw cmd.
 }LANPR_RenderLineChain;
@@ -488,15 +488,15 @@ typedef struct LANPR_BoundingArea {
 
struct LANPR_BoundingArea *Child;//1,2,3,4 quadrant
 
-   nListHandle LP;
-   nListHandle RP;
-   nListHandle UP;
-   nListHandle BP;
+   ListBase LP;
+   ListBase RP;
+   ListBase UP;
+   ListBase BP;
 
int TriangleCount;
-   nListHandle LinkedTriangles;
-   nListHandle LinkedLines;
-   nListHandle LinkedChains;//reserved for multithread chainning
+   ListBase LinkedTriangles;
+   ListBase LinkedLines;
+   ListBase LinkedChains;//reserved for multithread chainning
 }LANPR_BoundingArea;
 
 
diff --git a/source/blender/draw

[Bf-blender-cvs] [9218730b2b3] soc-2018-npr: DPIX and Snake's F12 is working now.

2018-07-27 Thread Nick Wu
Commit: 9218730b2b313147ed0dc424bcb23575139dfbc1
Author: Nick Wu
Date:   Fri Jul 27 18:17:18 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB9218730b2b313147ed0dc424bcb23575139dfbc1

DPIX and Snake's F12 is working now.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 62c47163546..50365298de7 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -166,9 +166,6 @@ typedef struct LANPR_PrivateData {
 
DRWShadingGroup *debug_shgrp;
 
-   // moved into line layer.
-   //DRWShadingGroup *software_shgrp;
-
//snake
 
float normal_clamp;
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 92346a17c8c..b4cb6308b2d 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -93,26 +93,7 @@ void lanpr_init_atlas_inputs(void *ved){
}
 }
 void lanpr_destroy_atlas(void *ved){
-   lanpr_share.ved_viewport = ved;
-   LANPR_Data *vedata = (LANPR_Data *)ved;
-   LANPR_TextureList *txl = vedata->txl;
-   LANPR_FramebufferList *fbl = vedata->fbl;
-   LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
-   LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
-
-   //DRW_pass_free(psl->dpix_transform_pass);
-   //DRW_pass_free(psl->dpix_preview_pass);
-
-   GPU_framebuffer_free(fbl->dpix_transform);
-   GPU_framebuffer_free(fbl->dpix_preview);
-
-   DRW_texture_free(txl->dpix_in_pl);
-   DRW_texture_free(txl->dpix_in_pr);
-   DRW_texture_free(txl->dpix_in_nl);
-   DRW_texture_free(txl->dpix_in_nr);
-   DRW_texture_free(txl->dpix_in_edge_mask);
-   DRW_texture_free(txl->dpix_out_pl);
-   DRW_texture_free(txl->dpix_out_pr);
+   //no need to free things, no custom data.
 }
 
 int lanpr_feed_atlas_data_obj(void *vedata,
@@ -374,7 +355,7 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
const DRWContextState *draw_ctx = DRW_context_state_get();
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
View3D *v3d = draw_ctx->v3d;
-   Object *camera;
+   Object *camera=0;
if (v3d) {
RegionView3D *rv3d = draw_ctx->rv3d;
camera = (rv3d && rv3d->persp == RV3D_CAMOB) ? v3d->camera : 
NULL;
@@ -382,7 +363,7 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
if(!camera){
camera = scene->camera;
}
-   if (!camera) return;
+   if (is_render && !camera) return;
 
pd->dpix_viewport[2] = texw;
pd->dpix_viewport[3] = texh;
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index d408a138411..50e64bc0ed5 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -173,35 +173,15 @@ static void lanpr_engine_init(void *ved){
 static void lanpr_engine_free(void){
void *ved = lanpr_share.ved_viewport;
LANPR_Data *vedata = (LANPR_Data *)ved;
-   LANPR_TextureList *txl = vedata->txl;
-   LANPR_FramebufferList *fbl = vedata->fbl;
LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
-   LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
-
-   //DRW_pass_free(psl->color_pass);
-   //DRW_pass_free(psl->edge_intermediate);
 
-   GPU_framebuffer_free(fbl->passes);
-   GPU_framebuffer_free(fbl->edge_intermediate);
-   GPU_framebuffer_free(fbl->edge_thinning);
-   GPU_framebuffer_free(fbl->software_ms);
-
-   DRW_texture_free(txl->depth);
-   DRW_texture_free(txl->color);
-   DRW_texture_free(txl->normal);
-   DRW_texture_free(txl->edge_intermediate);
-   DRW_texture_free(txl->ms_resolve_depth);
-   DRW_texture_free(txl->ms_resolve_color);
+   //only free custom data in storage list.
 
BLI_mempool_destroy(stl->g_data->mp_line_strip);
BLI_mempool_destroy(stl->g_data->mp_line_strip_point);
BLI_mempool_destroy(stl->g_data->mp_sample);
BLI_mempool_destroy(stl->g_data->mp_batch_list);
 
-   MEM_freeN(stl->g_data->line_result_8bit);
-   MEM_freeN(stl->g_data->line_result);
-   MEM_freeN(stl->g_data);
-

[Bf-blender-cvs] [4ef26d98d33] soc-2018-npr: Fixed intersection calculation memory leak, fixed snake UI error, added F12 supporting functions.

2018-07-27 Thread Nick Wu
Commit: 4ef26d98d33d026f010da27d97dd0929023589ba
Author: Nick Wu
Date:   Fri Jul 27 11:37:14 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB4ef26d98d33d026f010da27d97dd0929023589ba

Fixed intersection calculation memory leak, fixed snake UI error, added F12 
supporting functions.

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index 09216661665..b609e2322b6 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -818,7 +818,7 @@ class SCENE_PT_lanpr_snake_settings(SceneButtonsPanel, 
Panel):
 def poll(cls, context):
 scene = context.scene
 lanpr = scene.lanpr
-return lanpr.master_mode == "SNAKE" and lanpr.enable_vector_trace == 
"ENABLE"
+return lanpr.master_mode == "SNAKE" and lanpr.enable_vector_trace == 
"ENABLED"
 
 def draw(self, context):
 layout = self.layout
diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 330df6aa6de..faffecf4b9f 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -50,7 +50,7 @@
((L) * (1.0f - (T)) + (R)*(T))
 
 
-typedef struct LANPROneTimeInit {
+typedef struct LANPRSharedResource {
 
/* Snake */
GPUShader *multichannel_shader;
@@ -66,17 +66,17 @@ typedef struct LANPROneTimeInit {
GPUShader *software_shader;
GPUShader *software_chaining_shader;
 
-   /* For Debug... */
-   GPUShader *debug_shader;
+   void *ved_viewport;
+   void *ved_render;
 
-   void *ved;
 
+   int init_complete;
 
-   /* for default value assignment */
+   SpinLock render_flag_lock;
+   int  during_render;   // get/set using access funcion which uses 
render_flag_lock to lock.
+ // this prevents duplicate 
too much resource. (no render preview in viewport while rendering)
 
-   int InitComplete;
-
-} LANPROneTimeInit;
+} LANPRSharedResource;
 
 #define TNS_DPIX_TEXTURE_SIZE 2048
 
@@ -114,9 +114,6 @@ typedef struct LANPR_PassList {
/* SOFTWARE */
struct DRWPass *software_pass;
 
-   /* DEBUG */
-   struct DRWPass *debug_pass;
-
 } LANPR_PassList;
 
 typedef struct LANPR_FramebufferList {
@@ -327,6 +324,8 @@ typedef struct LANPR_RenderBuffer {
 
//render status
 
+   int  cached_for_frame;
+
real ViewVector[3];
 
int TriangleSize;
@@ -802,9 +801,13 @@ int lanpr_feed_atlas_data_intersection_cache(void *vedata,
 int lanpr_feed_atlas_trigger_preview_obj(void *vedata, Object *ob, int 
begin_index);
 void lanpr_create_atlas_intersection_preview(void *vedata, int begin_index);
 
-void lanpr_dpix_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList *fbl, 
LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, GPUFrameBuffer 
*DefaultFB);
+void lanpr_dpix_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList *fbl, 
LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, GPUFrameBuffer 
*DefaultFB, int is_render);
 
-void lanpr_snake_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList 
*fbl, LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, 
GPUFrameBuffer *DefaultFB);
+void lanpr_snake_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList 
*fbl, LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, 
GPUFrameBuffer *DefaultFB, int is_render);
 
 void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb);
 
+void lanpr_set_render_flag();
+void lanpr_clear_render_flag();
+int lanpr_during_render();
+
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index db9210b3947..b400a3f9a89 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -25,14 +25,14 @@
 
 #include 
 
-extern struct LANPROneTimeInit OneTime;
+extern LANPRSharedResource lanpr_share;
 extern char datatoc_lanpr_dpix_project_passthrough_vert_glsl[];
 extern char datatoc_lanpr_dpix_project_clip_frag_glsl[];
 extern char datatoc_lanpr_dpix_preview_geom_glsl[];
 extern char datatoc_lanpr_dpix_preview_frag_glsl[];
 
 void lanpr_init_atlas_inputs(void *ved){
-   OneTime.ved = ved;
+   lanpr_share.ved_viewport = ved;
LANPR_Data *vedata = (LANPR_Data *)ved;

[Bf-blender-cvs] [e941813e3c8] soc-2018-npr: Debugging small problem in threads, in lanpr_triangle_line_imagespace_intersection_v2()

2018-07-27 Thread Nick Wu
Commit: e941813e3c8bace99db02eec9fc39c58e852a527
Author: Nick Wu
Date:   Fri Jul 27 15:53:13 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBe941813e3c8bace99db02eec9fc39c58e852a527

Debugging small problem in threads, in 
lanpr_triangle_line_imagespace_intersection_v2()

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index faffecf4b9f..62c47163546 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -417,7 +417,7 @@ typedef struct LANPR_RenderTriangle {
 
 typedef struct LANPR_RenderTriangleThread {
struct LANPR_RenderTriangle Base;
-   struct LANPR_RenderLine *Testing[128];//max thread support;
+   struct LANPR_RenderLine *Testing[127];//max thread support;
 }LANPR_RenderTriangleThread;
 
 typedef struct LANPR_RenderElementLinkNode {
@@ -601,7 +601,7 @@ BLI_INLINE int 
lanpr_TrangleLineBoundBoxTest(LANPR_RenderTriangle *rt, LANPR_Ren
 }
 
 BLI_INLINE double tMatGetLinearRatio(real L, real R, real FromL);
-BLI_INLINE int lanpr_LineIntersectTest2d(tnsVector2d a1, tnsVector2d a2, 
tnsVector2d b1, tnsVector2d b2, double *aRatio) {
+BLI_INLINE int lanpr_LineIntersectTest2d(const double* a1, const double* a2, 
const double* b1, const double* b2, double *aRatio) {
double k1, k2;
double x;
double y;
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 46bdd76cd21..45a1c2063c9 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -377,6 +377,7 @@ void lanpr_chain_generate_draw_command(LANPR_RenderBuffer 
*rb){
 
MEM_freeN(lengths);
 
+   if (rb->ChainDrawBatch) GPU_batch_discard(rb->ChainDrawBatch);
 rb->ChainDrawBatch = GPU_batch_create_ex(GPU_PRIM_LINES_ADJ, vbo, 
GPU_indexbuf_build(), GPU_USAGE_DYNAMIC | GPU_BATCH_OWNS_VBO);
 
 }
\ No newline at end of file
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index b400a3f9a89..92346a17c8c 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -100,8 +100,8 @@ void lanpr_destroy_atlas(void *ved){
LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
 
-   DRW_pass_free(psl->dpix_transform_pass);
-   DRW_pass_free(psl->dpix_preview_pass);
+   //DRW_pass_free(psl->dpix_transform_pass);
+   //DRW_pass_free(psl->dpix_preview_pass);
 
GPU_framebuffer_free(fbl->dpix_transform);
GPU_framebuffer_free(fbl->dpix_preview);
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 7d24e76348f..d408a138411 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -178,8 +178,8 @@ static void lanpr_engine_free(void){
LANPR_StorageList *stl = ((LANPR_Data *)vedata)->stl;
LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
 
-   DRW_pass_free(psl->color_pass);
-   DRW_pass_free(psl->edge_intermediate);
+   //DRW_pass_free(psl->color_pass);
+   //DRW_pass_free(psl->edge_intermediate);
 
GPU_framebuffer_free(fbl->passes);
GPU_framebuffer_free(fbl->edge_intermediate);
@@ -560,7 +560,7 @@ static void lanpr_render_to_image(LANPR_Data *vedata, 
RenderEngine *engine, stru
   BLI_rcti_size_x(rect), BLI_rcti_size_y(rect),
   4, 0, rp->rect);
 
-   lanpr_engine_free();
+   //lanpr_engine_free();
 
lanpr_clear_render_flag();
 }
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index eb8f8042dde..2d6bdc0f32d 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -51,7 +51,7 @@
 struct Object;
 
 
-int lanpr_triangle_line_imagespace_intersection_v2(LANPR_RenderTriangle *rt, 
LANPR_RenderLine *rl, Object *cam, tnsMatrix44d vp, real *CameraDir, double 
*From, double *To);
+int lanpr_triangle_line_imagespace_intersection_v2(SpinLock* spl, 
LANPR_RenderTriangle *rt, LANPR_RenderLine *rl, Object *cam, tnsMatrix44d vp, 
real *CameraDir, double *From, double *To);
 
 
 /* == base structure

[Bf-blender-cvs] [68374d38381] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-07-27 Thread Nick Wu
Commit: 68374d38381ba597504c1cba4b303d0b336e6c81
Author: Nick Wu
Date:   Thu Jul 26 10:09:40 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB68374d38381ba597504c1cba4b303d0b336e6c81

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [d250cd950b7] soc-2018-npr: Typo fix finalColor

2018-07-25 Thread Nick Wu
Commit: d250cd950b7d0fcaae71759e9140e7a1b998d38b
Author: Nick Wu
Date:   Wed Jul 25 22:49:14 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBd250cd950b7d0fcaae71759e9140e7a1b998d38b

Typo fix finalColor

===

M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl

===

diff --git 
a/source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl 
b/source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl
index 016f3821ccc..10aa51d1463 100644
--- 
a/source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl
+++ 
b/source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl
@@ -1,5 +1,5 @@
 in vec3 normal;
-in vec4 finalcolor;
+in vec4 finalColor;
 
 float Interpolate(float between1,float between2,float value1,float 
value2,float key){
 float i = (key-between1)/(between2-between1);
@@ -12,6 +12,6 @@ void main(){
 //else if(value>=0.65 && value<0.85) 
value=Interpolate(0.65,0.85,0.15,0.75,value);
 //else if(value>=0.85 && value<0.95) value=0.75;
 //else if(value>=0.95) value=0.9;
-gl_FragData[0] = vec4(finalcolor.rgb*value,1);
+gl_FragData[0] = vec4(finalColor.rgb*value,1);
 gl_FragData[1] = vec4(normal,1);//vec4((normal+vec3(1))*0.5,1);
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [dd5fcd4d0f9] soc-2018-npr: Fix camera access error, added report to no camera situation.

2018-07-25 Thread Nick Wu
Commit: dd5fcd4d0f9e4da98bf6c46d6a87b2ead0709b4c
Author: Nick Wu
Date:   Wed Jul 25 22:25:18 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBdd5fcd4d0f9e4da98bf6c46d6a87b2ead0709b4c

Fix camera access error, added report to no camera situation.

===

M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c 
b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index d717b7799fc..db9210b3947 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -42,7 +42,7 @@ void lanpr_init_atlas_inputs(void *ved){
const DRWContextState *draw_ctx = DRW_context_state_get();
View3D *v3d = draw_ctx->v3d;
RegionView3D *rv3d = draw_ctx->rv3d;
-   Object *camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
+   Object *camera = (rv3d && rv3d->persp == RV3D_CAMOB) ? v3d->camera : 
NULL;
SceneLANPR *lanpr = _ctx->scene->lanpr;
 
if (lanpr->reloaded || !txl->dpix_in_pl) {
@@ -377,11 +377,12 @@ void lanpr_dpix_draw_scene(LANPR_TextureList *txl, 
LANPR_FramebufferList *fbl, L
Object *camera;
if (v3d) {
RegionView3D *rv3d = draw_ctx->rv3d;
-   camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
+   camera = (rv3d && rv3d->persp == RV3D_CAMOB) ? v3d->camera : 
NULL;
}
-   else {
+   if(!camera){
camera = scene->camera;
}
+   if (!camera) return;
 
pd->dpix_viewport[2] = texw;
pd->dpix_viewport[3] = texh;
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 755801b6585..11b7bbf0d0e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -59,14 +59,6 @@ static void lanpr_engine_init(void *ved){
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR *lanpr = >lanpr;
View3D *v3d = draw_ctx->v3d;
-   Object *camera;
-   if (v3d) {
-   RegionView3D *rv3d = draw_ctx->rv3d;
-   camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
-   }
-   else {
-   camera = scene->camera;
-   }
 
if (!OneTime.InitComplete) {
//lanpr->depth_clamp = 0.01;
@@ -269,14 +261,6 @@ static void lanpr_cache_init(void *vedata){
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR *lanpr = >lanpr;
View3D *v3d = draw_ctx->v3d;
-   Object *camera;
-   if (v3d) {
-   RegionView3D *rv3d = draw_ctx->rv3d;
-   camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
-   }
-   else {
-   camera = scene->camera;
-   }
 
psl->color_pass = DRW_pass_create("color Pass", DRW_STATE_WRITE_COLOR | 
DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_WRITE_DEPTH);
stl->g_data->multipass_shgrp = 
DRW_shgroup_create(OneTime.multichannel_shader, psl->color_pass);
@@ -466,14 +450,6 @@ static void lanpr_draw_scene_exec(void *vedata, 
GPUFrameBuffer *dfb) {
Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
SceneLANPR *lanpr = >lanpr;
View3D *v3d = draw_ctx->v3d;
-   Object *camera;
-   if (v3d) {
-   RegionView3D *rv3d = draw_ctx->rv3d;
-   camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
-   }
-   else {
-   camera = scene->camera;
-   }
 
//DEBUG, draw a square only
{
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index ee594033d95..fef1d451fc7 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -21,6 +21,7 @@
 #include "DEG_depsgraph_query.h"
 #include "BKE_camera.h"
 #include "BKE_collection.h"
+#include "BKE_report.h"
 #include "GPU_draw.h"
 
 #include "GPU_batch.h"
@@ -1687,7 +1688,6 @@ void lanpr_make_render_geometry_buffers(Depsgraph 
*depsgraph, Scene *s, Object *
CollectionObject *co;
tnsMatrix44d obmat16;
tnsMatrix44d proj, view, result, inv;
-   if (!c) return;
Camera *cam = c->data;
 
float sensor = BKE_camera_sensor_size(cam->sensor_fit, cam->sensor_x, 
cam->sensor_y);
@@ -2994,14 +2994,14 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb) {
  

[Bf-blender-cvs] [3353221166b] soc-2018-npr: Fix code for strict compile.

2018-07-25 Thread Nick Wu
Commit: 3353221166b09083e875b9d3d4b95a523b115e08
Author: Nick Wu
Date:   Wed Jul 25 22:15:18 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3353221166b09083e875b9d3d4b95a523b115e08

Fix code for strict compile.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_util.c
M   source/blender/draw/engines/lanpr/lanpr_util.h
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_geom.glsl
M   
source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 0ab2c80eccb..330df6aa6de 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -573,7 +573,7 @@ extern RenderEngineType DRW_engine_viewport_lanpr_type;
 #define TNS_IN_TILE(RenderTile, Fx, Fy) \
(TNS_IN_TILE_X(RenderTile, Fx) && TNS_IN_TILE_Y(RenderTile, Fy))
 
-__inline void tMatConvert44df(tnsMatrix44d from, tnsMatrix44f to) {
+BLI_INLINE void tMatConvert44df(tnsMatrix44d from, tnsMatrix44f to) {
to[0] = from[0];
to[1] = from[1];
to[2] = from[2];
@@ -592,7 +592,7 @@ __inline void tMatConvert44df(tnsMatrix44d from, 
tnsMatrix44f to) {
to[15] = from[15];
 }
 
-__inline int lanpr_TrangleLineBoundBoxTest(LANPR_RenderTriangle *rt, 
LANPR_RenderLine *rl) {
+BLI_INLINE int lanpr_TrangleLineBoundBoxTest(LANPR_RenderTriangle *rt, 
LANPR_RenderLine *rl) {
if (MAX3(rt->V[0]->FrameBufferCoord[2], rt->V[1]->FrameBufferCoord[2], 
rt->V[2]->FrameBufferCoord[2]) > MIN2(rl->L->FrameBufferCoord[2], 
rl->R->FrameBufferCoord[2])) return 0;
if (MAX3(rt->V[0]->FrameBufferCoord[0], rt->V[1]->FrameBufferCoord[0], 
rt->V[2]->FrameBufferCoord[0]) < MIN2(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0])) return 0;
if (MIN3(rt->V[0]->FrameBufferCoord[0], rt->V[1]->FrameBufferCoord[0], 
rt->V[2]->FrameBufferCoord[0]) > MAX2(rl->L->FrameBufferCoord[0], 
rl->R->FrameBufferCoord[0])) return 0;
@@ -601,8 +601,8 @@ __inline int 
lanpr_TrangleLineBoundBoxTest(LANPR_RenderTriangle *rt, LANPR_Rende
return 1;
 }
 
-__inline double tMatGetLinearRatio(real L, real R, real FromL);
-__inline int lanpr_LineIntersectTest2d(tnsVector2d a1, tnsVector2d a2, 
tnsVector2d b1, tnsVector2d b2, double *aRatio) {
+BLI_INLINE double tMatGetLinearRatio(real L, real R, real FromL);
+BLI_INLINE int lanpr_LineIntersectTest2d(tnsVector2d a1, tnsVector2d a2, 
tnsVector2d b1, tnsVector2d b2, double *aRatio) {
double k1, k2;
double x;
double y;
@@ -656,96 +656,96 @@ __inline int lanpr_LineIntersectTest2d(tnsVector2d a1, 
tnsVector2d a2, tnsVector
 
return 1;
 }
-__inline double lanpr_GetLineZ(tnsVector3d L, tnsVector3d R, real Ratio) {
+BLI_INLINE double lanpr_GetLineZ(tnsVector3d L, tnsVector3d R, real Ratio) {
//double z = 1 / tnsLinearItp(1 / L[2], 1 / R[2], Ratio);
double z = tnsLinearItp(L[2], R[2], Ratio);
return z;
 }
-__inline double lanpr_GetLineZPoint(tnsVector3d L, tnsVector3d R, tnsVector3d 
FromL) {
+BLI_INLINE double lanpr_GetLineZPoint(tnsVector3d L, tnsVector3d R, 
tnsVector3d FromL) {
double r = (FromL[0] - L[0]) / (R[0] - L[0]);
return tnsLinearItp(L[2], R[2], r);
//return 1 / tnsLinearItp(1 / L[2], 1 / R[2], r);
 }
-__inline double lanpr_GetLinearRatio(tnsVector3d L, tnsVector3d R, tnsVector3d 
FromL) {
+BLI_INLINE double lanpr_GetLinearRatio(tnsVector3d L, tnsVector3d R, 
tnsVector3d FromL) {
double r = (FromL[0] - L[0]) / (R[0] - L[0]);
return r;
 }
 
-__inline double tMatGetLinearRatio(real L, real R, real FromL) {
+BLI_INLINE double tMatGetLinearRatio(real L, real R, real FromL) {
double r = (FromL - L) / (R - L);
return r;
 }
-__inline void tMatVectorMinus2d(tnsVector2d result, tnsVector2d l, tnsVector2d 
r) {
+BLI_INLINE void tMatVectorMinus2d(tnsVector2d result, tnsVector2d l, 
tnsVector2d r) {
result[0] = l[0] - r[0];
result[1] = l[1] - r[1];
 }
 
-__inline void tMatVectorMinus3d(tnsVector3d result, tnsVector3d l, tnsVector3d 
r) {
+BLI_INLINE void tMatVectorMinus3d(tnsVector3d result, tnsVector3d l, 
tnsVector3d r) {
result[0] = l[0] - r[0];
result[1] = l[1] - r[1];
result[2] = l[2] - r[2];
 }
-__inline void tMatVectorSubtract3d(tnsVector3d l, tnsVector3d r) {
+BLI_INLINE void tMatVectorSubtract3d(tnsVector3d l, tnsVector3d r) {
l[0] = l[0] - r[0];
l[1] = l[

[Bf-blender-cvs] [ea8f7878f6c] soc-2018-npr: Added debug shaders to find problems in f12

2018-07-25 Thread Nick Wu
Commit: ea8f7878f6cad888c0e1491d2f243874178e21dc
Author: Nick Wu
Date:   Wed Jul 25 16:39:58 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBea8f7878f6cad888c0e1491d2f243874178e21dc

Added debug shaders to find problems in f12

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 610317c2316..0ab2c80eccb 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -66,6 +66,9 @@ typedef struct LANPROneTimeInit {
GPUShader *software_shader;
GPUShader *software_chaining_shader;
 
+   /* For Debug... */
+   GPUShader *debug_shader;
+
void *ved;
 
 
@@ -111,6 +114,9 @@ typedef struct LANPR_PassList {
/* SOFTWARE */
struct DRWPass *software_pass;
 
+   /* DEBUG */
+   struct DRWPass *debug_pass;
+
 } LANPR_PassList;
 
 typedef struct LANPR_FramebufferList {
@@ -161,6 +167,8 @@ typedef struct LANPR_PrivateData {
DRWShadingGroup *dpix_transform_shgrp;
DRWShadingGroup *dpix_preview_shgrp;
 
+   DRWShadingGroup *debug_shgrp;
+
// moved into line layer.
//DRWShadingGroup *software_shgrp;
 
@@ -797,3 +805,6 @@ void lanpr_create_atlas_intersection_preview(void *vedata, 
int begin_index);
 void lanpr_dpix_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList *fbl, 
LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, GPUFrameBuffer 
*DefaultFB);
 
 void lanpr_snake_draw_scene(LANPR_TextureList *txl, LANPR_FramebufferList 
*fbl, LANPR_PassList *psl, LANPR_PrivateData *pd, SceneLANPR *lanpr, 
GPUFrameBuffer *DefaultFB);
+
+void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb);
+
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 54558abf717..755801b6585 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -41,8 +41,8 @@ extern char 
datatoc_lanpr_dpix_project_passthrough_vert_glsl[];
 extern char datatoc_lanpr_dpix_project_clip_frag_glsl[];
 extern char datatoc_lanpr_dpix_preview_frag_glsl[];
 extern char datatoc_lanpr_software_passthrough_vert_glsl[];
-
-
+extern char datatoc_gpu_shader_2D_smooth_color_vert_glsl[];
+extern char datatoc_gpu_shader_2D_smooth_color_frag_glsl[];
 
 LANPROneTimeInit OneTime;
 
@@ -198,6 +198,16 @@ static void lanpr_engine_init(void *ved){
GPU_ATTACHMENT_LEAVE
});
 
+   /* Debug */
+   if (!OneTime.debug_shader) {
+   OneTime.debug_shader =
+   GPU_shader_create(
+   datatoc_gpu_shader_2D_smooth_color_vert_glsl,
+   datatoc_gpu_shader_2D_smooth_color_frag_glsl,
+   NULL,
+   NULL, NULL);
+   }
+
 }
 static void lanpr_engine_free(void){
void *ved = OneTime.ved;
@@ -465,6 +475,45 @@ static void lanpr_draw_scene_exec(void *vedata, 
GPUFrameBuffer *dfb) {
camera = scene->camera;
}
 
+   //DEBUG, draw a square only
+   {
+   GPU_framebuffer_bind(fbl->software_ms);
+   GPU_framebuffer_clear(fbl->software_ms, clear_bits, 
lanpr->background_color, clear_depth, clear_stencil);
+
+   psl->debug_pass = psl->software_pass = DRW_pass_create("Debug 
Pass", DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | 
DRW_STATE_DEPTH_LESS_EQUAL);
+   pd->debug_shgrp = DRW_shgroup_create(OneTime.debug_shader, 
psl->debug_pass);
+
+   static struct GPUBatch *square_batch = NULL;
+   if (!square_batch) {
+   static GPUVertFormat format = { 0 };
+   static struct { uint pos, color; } attr_id;
+   if (format.attr_len == 0) {
+   attr_id.pos = GPU_vertformat_attr_add(, 
"pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
+   attr_id.color = 
GPU_vertformat_attr_add(, "color", GPU_COMP_F32, 4, GPU_FETCH_FLOAT);
+   }
+   GPUVertBuf *vbo = 
GPU_vertbuf_create_with_format();
+   GPU_vertbuf_data_alloc(vbo, 4);
+
+   float v[4] = { 0 }, c[4] = { 1,1,1,1 };
+   GPU_vertbuf_attr_set(vbo, attr_id.pos, 0, v); 
GPU_vertbuf_attr_set(vbo, attr_id.color, 0, c);
+   v[0] = 0.9;
+   GPU_vertbuf_attr_set(vbo, attr_id.pos, 1, v); 
GPU_vertbuf_attr_set(vbo, at

[Bf-blender-cvs] [88448dba155] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-07-25 Thread Nick Wu
Commit: 88448dba155453fd265c228b3970d1eb86f1e101
Author: Nick Wu
Date:   Wed Jul 25 13:43:14 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB88448dba155453fd265c228b3970d1eb86f1e101

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [7fa715cfb76] soc-2018-npr: Modified UI for chaining.

2018-07-24 Thread Nick Wu
Commit: 7fa715cfb76c23f82a9d695fa1a6d07e9a162215
Author: Nick Wu
Date:   Tue Jul 24 16:57:29 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB7fa715cfb76c23f82a9d695fa1a6d07e9a162215

Modified UI for chaining.

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c
M   source/blender/editors/render/render_intern.h
M   source/blender/editors/render/render_ops.c
M   source/blender/makesrna/intern/rna_lanpr.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index e142397a5fc..09216661665 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -619,13 +619,19 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.prop(lanpr, "reloaded")
 
 if lanpr.master_mode == "SOFTWARE":
+layout.prop(lanpr, "background_color")
 layout.label(text="Enable On Demand:")
 row = layout.row()
 row.prop(lanpr,"calculate_intersections", text = "Intersection 
Lines")
 row.prop(lanpr,"enable_chaining", text = "Chaining (SLOW!)")
 layout.label(text="RUN:")
 layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
-layout.label(text="Layer Composition:")
+
+split = layout.split(percentage=0.7)
+col = split.column()
+col.label(text="Layer Composition:")
+col = split.column()
+col.operator("scene.lanpr_auto_create_line_layer", text = 
"Default", icon = "ZOOMIN")
 layout.template_list("LANPR_linesets", "", lanpr, "layers", 
lanpr.layers, "active_layer_index", rows=4)
 if active_layer:
 split = layout.split()
@@ -670,6 +676,8 @@ class SCENE_PT_lanpr_line_types(SceneButtonsPanel, Panel):
 lanpr = scene.lanpr
 active_layer = lanpr.layers.active_layer
 
+layout.operator("scene.lanpr_enable_all_line_types")
+
 split = layout.split(percentage=0.3)
 col = split.column()
 col.prop(active_layer, "enable_contour", text="Contour", toggle=True)
@@ -723,7 +731,7 @@ class SCENE_PT_lanpr_line_components(SceneButtonsPanel, 
Panel):
 scene = context.scene
 lanpr = scene.lanpr
 active_layer = lanpr.layers.active_layer
-return active_layer and lanpr.master_mode == "SOFTWARE"
+return active_layer and lanpr.master_mode == "SOFTWARE" and not 
lanpr.enable_chaining
 
 def draw(self, context):
 layout = self.layout
@@ -810,7 +818,7 @@ class SCENE_PT_lanpr_snake_settings(SceneButtonsPanel, 
Panel):
 def poll(cls, context):
 scene = context.scene
 lanpr = scene.lanpr
-return lanpr.master_mode == "SNAKE" and lanpr.enable_vector_trace == 
"ENABLED"
+return lanpr.master_mode == "SNAKE" and lanpr.enable_vector_trace == 
"ENABLE"
 
 def draw(self, context):
 layout = self.layout
@@ -857,6 +865,45 @@ class SCENE_PT_lanpr_snake_settings(SceneButtonsPanel, 
Panel):
 layout.label(text="---INOP---")
 layout.prop(lanpr,"extend_length")
 
+class SCENE_PT_lanpr_software_chain_styles(SceneButtonsPanel, Panel):
+bl_label = "Chain Styles"
+bl_parent_id = "SCENE_PT_lanpr"
+COMPAT_ENGINES = {'BLENDER_CLAY'}
+
+@classmethod
+def poll(cls, context):
+scene = context.scene
+lanpr = scene.lanpr
+return lanpr.master_mode == "SOFTWARE" and lanpr.enable_chaining
+
+def draw(self, context):
+layout = self.layout
+scene = context.scene
+lanpr = scene.lanpr
+layout.label(text="Taper:")
+layout.prop(lanpr, "use_same_taper", expand = True)
+if lanpr.use_same_taper == "DISABLED":
+split = layout.split()
+col = split.column(align = True)
+col.label(text="Left:")
+col.prop(lanpr,"taper_left_distance")
+col.prop(lanpr,"taper_left_strength")
+col = split.column

[Bf-blender-cvs] [483d5d7c936] soc-2018-npr: Fixed c function and glsl file names.

2018-07-24 Thread Nick Wu
Commit: 483d5d7c9363cebd43524a4559748bfea0a73fb8
Author: Nick Wu
Date:   Tue Jul 24 15:30:06 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB483d5d7c9363cebd43524a4559748bfea0a73fb8

Fixed c function and glsl file names.

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/CMakeLists.txt
M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
R100source/blender/draw/engines/lanpr/shaders/lanpr_atlas_preview.fragment  
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_frag.glsl
R100source/blender/draw/engines/lanpr/shaders/lanpr_atlas_preview.geometry  
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_preview_geom.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_atlas_project_clip.fragment 
source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_clip_frag.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_atlas_project_passthrough.vertex

source/blender/draw/engines/lanpr/shaders/lanpr_dpix_project_passthrough_vert.glsl
R100source/blender/draw/engines/lanpr/shaders/lanpr_snake_edge.fragment 
source/blender/draw/engines/lanpr/shaders/lanpr_snake_edge_frag.glsl
R100source/blender/draw/engines/lanpr/shaders/lanpr_image_peel.fragment 
source/blender/draw/engines/lanpr/shaders/lanpr_snake_image_peel_frag.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_line_connection.fragment
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_frag.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_line_connection.geometry
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_geom.glsl
R100source/blender/draw/engines/lanpr/shaders/lanpr_line_connection.vertex  
source/blender/draw/engines/lanpr/shaders/lanpr_snake_line_connection_vert.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel.fragment 
source/blender/draw/engines/lanpr/shaders/lanpr_snake_multichannel_frag.glsl
R100source/blender/draw/engines/lanpr/shaders/lanpr_software_chain.geometry 
source/blender/draw/engines/lanpr/shaders/lanpr_software_chain_geom.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_width.geometry
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_chain_geom.glsl
R100
source/blender/draw/engines/lanpr/shaders/lanpr_software_scale_compensate.vertex

source/blender/draw/engines/lanpr/shaders/lanpr_software_passthrough_vert.glsl

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index a95ed107725..e142397a5fc 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -626,7 +626,7 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 layout.label(text="RUN:")
 layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
 layout.label(text="Layer Composition:")
-layout.template_list("LANPR_linesets", "", lanpr, "layers", 
lanpr.layers, "active_layer_index", rows=rows)
+layout.template_list("LANPR_linesets", "", lanpr, "layers", 
lanpr.layers, "active_layer_index", rows=4)
 if active_layer:
 split = layout.split()
 col = split.column()
diff --git a/source/blender/draw/CMakeLists.txt 
b/source/blender/draw/CMakeLists.txt
index 1ed2b724f7a..75031fabc9f 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -240,19 +240,19 @@ 
data_to_c_simple(engines/workbench/shaders/workbench_volume_vert.glsl SRC)
 data_to_c_simple(engines/workbench/shaders/workbench_volume_frag.glsl SRC)
 data_to_c_simple(engines/workbench/shaders/workbench_world_light_lib.glsl SRC)
 
-data_to_c_simple(engines/lanpr/shaders/lanpr_atlas_preview.geometry SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_atlas_preview.fragment SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_atlas_project_clip.fragment SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_atlas_project_passthrough.vertex 
SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_image_peel.fragment SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_line_connection.vertex SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_line_connection.geometry SRC)
-data_to_c_simple(engines/lanpr/shaders/lanpr_line_connection.fragment SRC)
-data_to_c_simple(engines/lanpr/shader

[Bf-blender-cvs] [3f7d07ac971] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-07-23 Thread Nick Wu
Commit: 3f7d07ac971088efc5ce51c586f1940e6d12ded5
Author: Nick Wu
Date:   Tue Jul 24 10:12:03 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB3f7d07ac971088efc5ce51c586f1940e6d12ded5

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

===



===



___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [1ddd3d60bff] soc-2018-npr: Chain support line types and levels. Still bugs in chaining, hard to find, but results good enough in most of the conditions.

2018-07-23 Thread Nick Wu
Commit: 1ddd3d60bff06729f3bc08544ab8a9392db5ca12
Author: Nick Wu
Date:   Mon Jul 23 17:57:34 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB1ddd3d60bff06729f3bc08544ab8a9392db5ca12

Chain support line types and levels.
Still bugs in chaining, hard to find, but results good enough in most of the 
conditions.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_width.geometry
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_scale_compensate.vertex

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 702c22e1132..1b070a54002 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -424,7 +424,7 @@ typedef struct LANPR_RenderLineSegment {
nListItem Item;
//real Begin, End;  // 0->At[L] 1->At[R]
real at;
-   u8bit OccludeLevel;//after
+   u8bit OcclusionLevel;//after
 }LANPR_RenderLineSegment;
 
 typedef struct LANPR_RenderVert {
@@ -474,7 +474,7 @@ typedef struct LANPR_RenderLineChainItem {
nListItem   Item;
float   pos[3]; // need z value for fading
charLineType;  //  style of [1]   style of [2]
-   charOccludeLevel;  // 
[1]--->[2]>[3]--
+   charOcclusionLevel;  // 
[1]--->[2]>[3]--
 }LANPR_RenderLineChainItem;
 
 typedef struct LANPR_BoundingArea {
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index d60c75bd11b..fbbea5b5578 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -85,9 +85,10 @@ LANPR_RenderLineChainItem* 
lanpr_append_render_line_chain_point(LANPR_RenderBuff
 rlci->pos[0] = x;
 rlci->pos[1] = y;
 rlci->LineType = type_EDGE_FLAG_ALL_TYPE;
+   rlci->OcclusionLevel = level;
 lstAppendItem(>Chain,rlci);
 
-   //printf("a %f %f\n", x, y);
+//printf("a %f,%f %d\n", x, y, level);
 
 return rlci;
 }
@@ -99,9 +100,10 @@ LANPR_RenderLineChainItem* 
lanpr_push_render_line_chain_point(LANPR_RenderBuffer
 rlci->pos[0] = x;
 rlci->pos[1] = y;
 rlci->LineType = type_EDGE_FLAG_ALL_TYPE;
+   rlci->OcclusionLevel = level;
 lstPushItem(>Chain,rlci);
 
-   //printf("p %f %f\n", x, y);
+   //printf("p %f,%f %d\n", x, y, level);
 
 return rlci;
 }
@@ -117,7 +119,7 @@ void 
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
 for(rlci = from->Item.pNext; rlci!= to; rlci=next_rlci){
 next_rlci = rlci->Item.pNext;
 
-if(next_rlci && (next_rlci->OccludeLevel!= rlci->OccludeLevel || 
next_rlci->LineType!= rlci->LineType)) continue;
+if(next_rlci && (next_rlci->OcclusionLevel!= rlci->OcclusionLevel || 
next_rlci->LineType!= rlci->LineType)) continue;
 
float dist = dist_to_line_segment_v2(rlci->pos, from->pos, 
to->pos);
if (dist>dist_threshold && dist>max_dist) { max_dist = dist; 
max_rlci = rlci; }
@@ -128,7 +130,7 @@ void 
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
if (from->Item.pNext == to) return;
for (rlci = from->Item.pNext; rlci != to; rlci = next_rlci) {
next_rlci = rlci->Item.pNext;
-   if (next_rlci && (next_rlci->OccludeLevel != 
rlci->OccludeLevel || next_rlci->LineType != rlci->LineType)) continue;
+   if (next_rlci && (next_rlci->OcclusionLevel != 
rlci->OcclusionLevel || next_rlci->LineType != rlci->LineType)) continue;
lstRemoveItem(>Chain, (void*)rlci);
}
}else {
@@ -140,6 +142,7 @@ void 
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
 
 void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer *rb, float 
dist_threshold){
 LANPR_RenderLineChain* rlc;
+   LANPR_RenderLineChainItem* rlci;
 LANPR_RenderLine* rl;
 LANPR_BoundingArea* ba;
 LANPR_RenderLineSegment* rls;
@@ -159,31 +162,32 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
 // step 1: grow left
 ba = lanpr_GetPointBoundingArea(rb,rl->L->FrameBufferCoord[0], 
rl

[Bf-blender-cvs] [e406c678424] soc-2018-npr: Provide a switch to enable chaining or not.

2018-07-23 Thread Nick Wu
Commit: e406c67842479a78b8904671a8e9729fc8a505c7
Author: Nick Wu
Date:   Mon Jul 23 22:33:59 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBe406c67842479a78b8904671a8e9729fc8a505c7

Provide a switch to enable chaining or not.

===

M   release/scripts/startup/bl_ui/properties_scene.py
M   source/blender/draw/CMakeLists.txt
M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
A   source/blender/draw/engines/lanpr/shaders/lanpr_software_chain.geometry
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_width.geometry
M   source/blender/makesdna/DNA_lanpr_types.h
M   source/blender/makesdna/DNA_scene_types.h
M   source/blender/makesrna/intern/rna_scene.c

===

diff --git a/release/scripts/startup/bl_ui/properties_scene.py 
b/release/scripts/startup/bl_ui/properties_scene.py
index d8cc00d7afd..a95ed107725 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -618,10 +618,11 @@ class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 if lanpr.master_mode == "DPIX":
 layout.prop(lanpr, "reloaded")
 
-rows = 4
 if lanpr.master_mode == "SOFTWARE":
 layout.label(text="Enable On Demand:")
-layout.prop(lanpr,"calculate_intersections", toggle = True, 
text = "Enable Intersection Lines")
+row = layout.row()
+row.prop(lanpr,"calculate_intersections", text = "Intersection 
Lines")
+row.prop(lanpr,"enable_chaining", text = "Chaining (SLOW!)")
 layout.label(text="RUN:")
 layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
 layout.label(text="Layer Composition:")
diff --git a/source/blender/draw/CMakeLists.txt 
b/source/blender/draw/CMakeLists.txt
index a8c099dcdae..1ed2b724f7a 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -252,6 +252,8 @@ 
data_to_c_simple(engines/lanpr/shaders/lanpr_snake_edge.fragment SRC)
 data_to_c_simple(engines/lanpr/shaders/lanpr_snake_multichannel.fragment SRC)
 data_to_c_simple(engines/lanpr/shaders/lanpr_software_line_width.geometry SRC)
 data_to_c_simple(engines/lanpr/shaders/lanpr_software_scale_compensate.vertex 
SRC)
+data_to_c_simple(engines/lanpr/shaders/lanpr_software_chain.geometry SRC)
+
 
 data_to_c_simple(modes/shaders/common_globals_lib.glsl SRC)
 data_to_c_simple(modes/shaders/common_hair_lib.glsl SRC)
diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 1b070a54002..b9e5c9d3e30 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -64,6 +64,7 @@ typedef struct LANPROneTimeInit {
 
/* Software */
GPUShader *software_shader;
+   GPUShader *software_chaining_shader;
 
void *ved;
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c 
b/source/blender/draw/engines/lanpr/lanpr_engine.c
index c7248182520..3c48ec0fae8 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -36,6 +36,7 @@ extern char datatoc_lanpr_line_connection_vertex[];
 extern char datatoc_lanpr_line_connection_fragment[];
 extern char datatoc_lanpr_line_connection_geometry[];
 extern char datatoc_lanpr_software_line_width_geometry[];
+extern char datatoc_lanpr_software_chain_geometry[];
 extern char datatoc_lanpr_atlas_project_passthrough_vertex[];
 extern char datatoc_lanpr_atlas_preview_fragment[];
 extern char datatoc_lanpr_software_scale_compensate_vertex[];
@@ -177,6 +178,15 @@ static void lanpr_engine_init(void *ved){
NULL, NULL);
}
 
+   if (!OneTime.software_chaining_shader) {
+   OneTime.software_chaining_shader =
+   GPU_shader_create(
+   datatoc_lanpr_software_scale_compensate_vertex,
+   datatoc_lanpr_atlas_preview_fragment,
+   datatoc_lanpr_software_chain_geometry,
+   NULL, NULL);
+   }
+
GPU_framebuffer_ensure_config(>software_ms, {
GPU_ATTACHMENT_TEXTURE(txl->ms_resolve_depth),
GPU_ATTACHMENT_TEXTURE(txl->ms_resolve_color),
@@ -349,23 +359,6 @@ static void lanpr_cache_init(void *vedata){
} elif(lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE)
{
;
-   /*LANPR_LineLayer *ll;
-

[Bf-blender-cvs] [9f344c6b887] soc-2018-npr: Merge and changed GWN APIs into GPU ones.

2018-07-23 Thread Nick Wu
Commit: 9f344c6b887306b42156279deffb5112f88757d1
Author: Nick Wu
Date:   Mon Jul 23 11:34:30 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB9f344c6b887306b42156279deffb5112f88757d1

Merge and changed GWN APIs into GPU ones.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_dpix.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   source/blender/draw/engines/lanpr/lanpr_snake.c
M   source/blender/draw/intern/draw_manager.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index 158a9057ef3..702c22e1132 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -215,8 +215,8 @@ typedef struct LANPR_PrivateData {
unsigned i_buf;
unsigned l_buf;
 
-   Gwn_VertFormat snake_gwn_format;
-   Gwn_Batch *snake_batch;
+   GPUVertFormat snake_gwn_format;
+   GPUBatch *snake_batch;
 
ListBase dpix_batch_list;
 
@@ -228,8 +228,8 @@ typedef struct LANPR_StorageList {
 
 typedef struct LANPR_BatchItem {
Link Item;
-   Gwn_Batch *dpix_transform_batch;
-   Gwn_Batch *dpix_preview_batch;
+   GPUBatch *dpix_transform_batch;
+   GPUBatch *dpix_preview_batch;
Object *ob;
 } LANPR_BatchItem;
 
@@ -308,8 +308,8 @@ typedef struct LANPR_RenderBuffer {
 
nListHandle IntersectingVertexBuffer;
 
-   struct Gwn_Batch *DPIXIntersectionTransformBatch;
-   struct Gwn_Batch *DPIXIntersectionBatch;
+   struct GPUBatch *DPIXIntersectionTransformBatch;
+   struct GPUBatch *DPIXIntersectionBatch;
 
/* use own-implemented one */
nStaticMemoryPool RenderDataPool;
@@ -348,7 +348,7 @@ typedef struct LANPR_RenderBuffer {
nListHandle EdgeMarks;
 
nListHandle Chains;
-   Gwn_Batch*  ChainDrawBatch;
+   GPUBatch*  ChainDrawBatch;
DRWShadingGroup* ChainShgrp;
 
SpinLock csInfo;
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 758493fb1b2..d60c75bd11b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -279,16 +279,16 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer 
*rb){
float* lengths;
float length_target[2];
 
-static Gwn_VertFormat format = { 0 };
+static GPUVertFormat format = { 0 };
static struct { uint pos, offset, type, level; } attr_id;
if (format.attr_len == 0) {
-   attr_id.pos = GWN_vertformat_attr_add(, "pos", 
GWN_COMP_F32, 2, GWN_FETCH_FLOAT);
-attr_id.offset = GWN_vertformat_attr_add(, "uvs", GWN_COMP_F32, 
2, GWN_FETCH_FLOAT);
-   attr_id.type = GWN_vertformat_attr_add(, "type", 
GWN_COMP_I32, 1, GWN_FETCH_FLOAT);
-   attr_id.level = GWN_vertformat_attr_add(, "level", 
GWN_COMP_I32, 1, GWN_FETCH_INT);
+   attr_id.pos = GPU_vertformat_attr_add(, "pos", 
GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
+attr_id.offset = GPU_vertformat_attr_add(, "uvs", GPU_COMP_F32, 
2, GPU_FETCH_FLOAT);
+   attr_id.type = GPU_vertformat_attr_add(, "type", 
GPU_COMP_I32, 1, GPU_FETCH_FLOAT);
+   attr_id.level = GPU_vertformat_attr_add(, "level", 
GPU_COMP_I32, 1, GPU_FETCH_INT);
}
 
-   Gwn_VertBuf *vbo = GWN_vertbuf_create_with_format();
+   GPUVertBuf *vbo = GPU_vertbuf_create_with_format();
 
 for(rlc = rb->Chains.pFirst; rlc;rlc=rlc->Item.pNext){
int count = lanpr_CountChain(rlc);
@@ -296,12 +296,12 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer 
*rb){
vert_count += count;
 }
 
-GWN_vertbuf_data_alloc(vbo, vert_count+1); // serve as end point's adj.
+GPU_vertbuf_data_alloc(vbo, vert_count+1); // serve as end point's adj.
 
lengths = MEM_callocN(sizeof(float)*vert_count, "chain lengths");
 
-Gwn_IndexBufBuilder elb;
-   GWN_indexbuf_init_ex(, GWN_PRIM_LINES_ADJ, vert_count*4, 
vert_count, true);// elem count will not exceed vert_count
+GPUIndexBufBuilder elb;
+   GPU_indexbuf_init_ex(, GPU_PRIM_LINES_ADJ, vert_count*4, 
vert_count, true);// elem count will not exceed vert_count
 
 for(rlc = rb->Chains.pFirst; rlc; rlc=rlc->Item.pNext){
 
@@ -312,25 +312,25 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer 
*rb){
length_target[0] = lengths[i];
length_target[1] = total_length - lengths[i];
 
-GWN_vertbuf_attr_set(vb

[Bf-blender-cvs] [aa6563d3a9b] soc-2018-npr: Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

2018-07-23 Thread Nick Wu
Commit: aa6563d3a9bd46fd170b6ae493d8db885d2422b7
Author: Nick Wu
Date:   Mon Jul 23 10:55:48 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBaa6563d3a9bd46fd170b6ae493d8db885d2422b7

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr

# Conflicts:
#   release/scripts/startup/bl_ui/space_view3d.py
#   source/blender/draw/intern/draw_manager.c

===



===

diff --cc release/scripts/startup/bl_ui/properties_scene.py
index f34c0897457,38bfc6ad294..d8cc00d7afd
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@@ -481,315 -568,8 +568,315 @@@ class SCENE_PT_simplify_render(SceneBut
  col.prop(rd, "simplify_child_particles_render", text="Max Child 
Particles")
  
  
 +class SCENE_PT_viewport_display(SceneButtonsPanel, Panel):
 +bl_label = "Viewport Display"
 +bl_options = {'DEFAULT_CLOSED'}
 +
 +@classmethod
 +def poll(cls, context):
 +return True
 +
 +def draw(self, context):
 +layout = self.layout
 +layout.use_property_split = True
 +scene = context.scene
 +col = layout.column()
 +col.prop(scene.display, "light_direction")
 +col.prop(scene.display, "shadow_shift")
 +
 +class LANPR_linesets(UIList):
 +def draw_item(self, context, layout, data, item, icon, active_data, 
active_propname, index):
 +lineset = item
 +if self.layout_type in {'DEFAULT', 'COMPACT'}:
 +split = layout.split(percentage=0.6)
 +split.label(text="Layer")
 +row = split.row(align=True)
 +row.prop(lineset, "color", text="", icon_value=icon)
 +row.prop(lineset, "thickness", text="", icon_value=icon)
 +elif self.layout_type == 'GRID':
 +layout.alignment = 'CENTER'
 +layout.label("", icon_value=icon)
 +
 +class SCENE_PT_lanpr(SceneButtonsPanel, Panel):
 +COMPAT_ENGINES = {'BLENDER_CLAY'}
 +bl_label = "LANPR"
 +bl_options = {'DEFAULT_CLOSED'}
 +
 +@classmethod
 +def poll(cls, context):
 +return True
 +
 +def draw(self, context):
 +layout = self.layout
 +scene = context.scene
 +lanpr = scene.lanpr
 +active_layer = lanpr.layers.active_layer
 +
 +layout.prop(lanpr, "master_mode", expand=True) 
 +
 +if lanpr.master_mode == "DPIX" or lanpr.master_mode == "SOFTWARE":
 +if lanpr.master_mode == "DPIX":
 +layout.prop(lanpr, "reloaded")
 +
 +rows = 4
 +if lanpr.master_mode == "SOFTWARE":
 +layout.label(text="Enable On Demand:")
 +layout.prop(lanpr,"calculate_intersections", toggle = True, 
text = "Enable Intersection Lines")
 +layout.label(text="RUN:")
 +layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
 +layout.label(text="Layer Composition:")
 +layout.template_list("LANPR_linesets", "", lanpr, "layers", 
lanpr.layers, "active_layer_index", rows=rows)
 +if active_layer:
 +split = layout.split()
 +col = split.column()
 +col.operator("scene.lanpr_add_line_layer", icon="ZOOMIN")
 +col.operator("scene.lanpr_delete_line_layer", 
icon="ZOOMOUT")
 +col = split.column()
 +col.operator("scene.lanpr_move_line_layer", 
icon="TRIA_UP").direction = "UP"
 +col.operator("scene.lanpr_move_line_layer", 
icon="TRIA_DOWN").direction = "DOWN"
 +layout.operator("scene.lanpr_rebuild_all_commands")
 +else:
 +layout.operator("scene.lanpr_add_line_layer")
 +elif not lanpr.layers.active_layer:
 +layout.operator("scene.lanpr_add_line_layer")
 +
 +else:
 +layout.label(text="Vectorization:")
 +layout.prop(lanpr, "enable_vector_trace", expand = True)
 +
 +#col = layout.column()
 +#col.label(text="Enable:")
 +#row = col.row(align=True)
 +#row.prop(lanpr, "enable_edge_mark", text="Mark", toggle=True)
 +#row.prop(lanpr, "enable_material_seperate", text="Material", 
toggle=True)
 +
 +
 +class SCENE_PT_lanpr_l

[Bf-blender-cvs] [67fa286f115] soc-2018-npr: Fix render triangle size increment error.

2018-07-20 Thread Nick Wu
Commit: 67fa286f115e0a38736f0582e4c7e995f307a564
Author: Nick Wu
Date:   Fri Jul 20 23:27:28 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB67fa286f115e0a38736f0582e4c7e995f307a564

Fix render triangle size increment error.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 297414febc1..b3e3b752919 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -423,7 +423,7 @@ void lanpr_AddTriangles(LANPR_RenderBuffer *rb) {
lim = reln->ElementCount;
for (i = 0; i < lim; i++) {
if (rt->CullStatus) {
-   rt++; continue;
+   (void *)(((BYTE *)rt) + rb->TriangleSize); 
continue;
}
if (lanpr_GetTriangleBoundingAreas(rb, rt, , , 
, )) {
for (co = x1; co <= x2; co++) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [efe7257a203] soc-2018-npr: Fix detail reducing bugs

2018-07-20 Thread Nick Wu
Commit: efe7257a203fddc43d6e0781f8f4248900602438
Author: Nick Wu
Date:   Fri Jul 20 22:14:02 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBefe7257a203fddc43d6e0781f8f4248900602438

Fix detail reducing bugs

===

M   source/blender/draw/engines/lanpr/lanpr_chain.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 834a458eb98..b09a16ffe73 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -128,6 +128,7 @@ void 
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
if (from->Item.pNext == to) return;
for (rlci = from->Item.pNext; rlci != to; rlci = next_rlci) {
next_rlci = rlci->Item.pNext;
+   if (next_rlci && (next_rlci->OccludeLevel != 
rlci->OccludeLevel || next_rlci->LineType != rlci->LineType)) continue;
lstRemoveItem(>Chain, (void*)rlci);
}
}else {
@@ -237,7 +238,7 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
//}
//printf("\n");
 
-//lanpr_reduce_render_line_chain_recursive(rlc,rlc->Chain.pFirst, 
rlc->Chain.pLast, dist_threshold);
+lanpr_reduce_render_line_chain_recursive(rlc,rlc->Chain.pFirst, 
rlc->Chain.pLast, dist_threshold);
 }
 }

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [227c2598733] soc-2018-npr: Fix fileread error again.

2018-07-20 Thread Nick Wu
Commit: 227c2598733ee4c0f32e7a2310881ecf7e388d0c
Author: Nick Wu
Date:   Fri Jul 20 22:41:39 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB227c2598733ee4c0f32e7a2310881ecf7e388d0c

Fix fileread error again.

===

M   source/blender/blenloader/intern/readfile.c

===

diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 4d6c1f9392b..d83417d1cfb 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6398,6 +6398,8 @@ static void direct_link_scene(FileData *fd, Scene *sce)
}
 
/* LANPR things */
+   sce->lanpr.active_layer = newdataadr(fd, sce->lanpr.active_layer);
+   sce->lanpr.render_buffer = NULL;
link_list(fd, >lanpr.line_layers);
for (LANPR_LineLayer *ll = sce->lanpr.line_layers.first; ll; ll = 
ll->next) {
link_list(fd, >components);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b3cea139a8a] soc-2018-npr: Fix taper on segment_count==1 situation

2018-07-20 Thread Nick Wu
Commit: b3cea139a8aee0ebdd9cce44f08ac71f1557b227
Author: Nick Wu
Date:   Fri Jul 20 22:26:32 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBb3cea139a8aee0ebdd9cce44f08ac71f1557b227

Fix taper on segment_count==1 situation

===

M   source/blender/draw/engines/lanpr/lanpr_chain.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index b09a16ffe73..758493fb1b2 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -303,11 +303,7 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer 
*rb){
 Gwn_IndexBufBuilder elb;
GWN_indexbuf_init_ex(, GWN_PRIM_LINES_ADJ, vert_count*4, 
vert_count, true);// elem count will not exceed vert_count
 
-   int debc = 0;
-
 for(rlc = rb->Chains.pFirst; rlc; rlc=rlc->Item.pNext){
-   //if (debc == 1) break;
-   debc++;
 
total_length = lanpr_ComputeChainLength(rlc, lengths, i);
 
@@ -319,7 +315,14 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer 
*rb){
 GWN_vertbuf_attr_set(vbo, attr_id.pos, i, rlci->pos);
 GWN_vertbuf_attr_set(vbo, attr_id.offset, i, length_target);
 
-   if (rlci == rlc->Chain.pLast) { i++; continue; }
+   if (rlci == rlc->Chain.pLast) {
+   if (rlci->Item.pPrev == rlc->Chain.pFirst) {
+   length_target[1] = total_length;
+   GWN_vertbuf_attr_set(vbo, 
attr_id.offset, i, length_target);
+   }
+   i++; 
+   continue; 
+   }
 
if (rlci == rlc->Chain.pFirst) {
if (rlci->Item.pNext == rlc->Chain.pLast) 
GWN_indexbuf_add_line_adj_verts(, vert_count, i, i + 1, vert_count);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [b421eaa36d8] soc-2018-npr: Chain first level preview ok. Simplification have bugs.

2018-07-20 Thread Nick Wu
Commit: b421eaa36d88d38988165176fe07a85b91edb7cd
Author: Nick Wu
Date:   Fri Jul 20 21:06:36 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBb421eaa36d88d38988165176fe07a85b91edb7cd

Chain first level preview ok. Simplification have bugs.

===

M   source/blender/draw/engines/lanpr/lanpr_all.h
M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_line_width.geometry
M   
source/blender/draw/engines/lanpr/shaders/lanpr_software_scale_compensate.vertex
M   source/blender/makesdna/DNA_lanpr_types.h

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h 
b/source/blender/draw/engines/lanpr/lanpr_all.h
index d5a24d758e6..158a9057ef3 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -467,11 +467,12 @@ typedef struct LANPR_RenderLineChain {
nListItem   Item;
nListHandle Chain;
//int SegmentCount;  // we count before draw cmd.
+   float   Length;  // calculated before draw cmd.
 }LANPR_RenderLineChain;
 
 typedef struct LANPR_RenderLineChainItem {
nListItem   Item;
-   float   pos[2];
+   float   pos[3]; // need z value for fading
charLineType;  //  style of [1]   style of [2]
charOccludeLevel;  // 
[1]--->[2]>[3]--
 }LANPR_RenderLineChainItem;
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index c592c373cc1..834a458eb98 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -87,6 +87,8 @@ LANPR_RenderLineChainItem* 
lanpr_append_render_line_chain_point(LANPR_RenderBuff
 rlci->LineType = type_EDGE_FLAG_ALL_TYPE;
 lstAppendItem(>Chain,rlci);
 
+   //printf("a %f %f\n", x, y);
+
 return rlci;
 }
 
@@ -99,6 +101,8 @@ LANPR_RenderLineChainItem* 
lanpr_push_render_line_chain_point(LANPR_RenderBuffer
 rlci->LineType = type_EDGE_FLAG_ALL_TYPE;
 lstPushItem(>Chain,rlci);
 
+   //printf("p %f %f\n", x, y);
+
 return rlci;
 }
 
@@ -155,7 +159,7 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
 ba = lanpr_GetPointBoundingArea(rb,rl->L->FrameBufferCoord[0], 
rl->L->FrameBufferCoord[1]);
 new_rv = rl->L;
 
lanpr_push_render_line_chain_point(rb,rlc,new_rv->FrameBufferCoord[0],new_rv->FrameBufferCoord[1],rl->Flags,0);
-while(new_rl = lanpr_GetConnectedRenderLine(ba,new_rv,_rv)){
+while(ba &&(new_rl = lanpr_GetConnectedRenderLine(ba,new_rv,_rv))){
 new_rl->Flags |= LANPR_EDGE_FLAG_CHAIN_PICKED;
 
 int last_occlude;
@@ -198,7 +202,7 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
 new_rv = rl->R;
 // below already done in step 2
 // 
lanpr_push_render_line_chain_point(rb,rlc,new_rv->FrameBufferCoord[0],new_rv->FrameBufferCoord[1],rl->Flags,0);
-while(new_rl = lanpr_GetConnectedRenderLine(ba,new_rv,_rv)){
+while(ba && (new_rl = 
lanpr_GetConnectedRenderLine(ba,new_rv,_rv))){
 new_rl->Flags |= LANPR_EDGE_FLAG_CHAIN_PICKED;
 
 int last_occlude;
@@ -226,11 +230,18 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
ba = lanpr_GetPointBoundingArea(rb, 
new_rv->FrameBufferCoord[0], new_rv->FrameBufferCoord[1]);
 }
 
+   //LANPR_RenderLineChainItem* rlci;
+   //printf("line:\n");
+   //for (rlci = rlc->Chain.pFirst; rlci; rlci = rlci->Item.pNext) 
{
+   //  printf("  %f %f\n", rlci->pos[0],rlci->pos[1]);
+   //}
+   //printf("\n");
+
 //lanpr_reduce_render_line_chain_recursive(rlc,rlc->Chain.pFirst, 
rlc->Chain.pLast, dist_threshold);
 }
 }
 
-int lanpr_CountChainVertices(LANPR_RenderLineChain* rlc){
+int lanpr_CountChain(LANPR_RenderLineChain* rlc){
 LANPR_RenderLineChainItem* rlci;
 int Count = 0;
for (rlci = rlc->Chain.pFirst; rlci; rlci = rlci->Item.pNext) {
@@ -239,19 +250,39 @@ int lanpr_CountChainVertices(LANPR_RenderLineChain* rlc){
 return Count;
 }
 
+float lanpr_ComputeChainLength(LANPR_RenderLineChain* rlc, float* lengths, int 
begin_index) {
+   LANPR_RenderLineChainItem* rlci;
+   int i=0;
+   float offset_accum = 0;
+   float dist;
+   float last_p

[Bf-blender-cvs] [aceecd17499] soc-2018-npr: Intersection chain now ok. (occlude level debug wait until tomorrow)

2018-07-19 Thread Nick Wu
Commit: aceecd17499c854f34689e65ccd322e19e54055e
Author: Nick Wu
Date:   Thu Jul 19 23:44:30 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBaceecd17499c854f34689e65ccd322e19e54055e

Intersection chain now ok. (occlude level debug wait until tomorrow)

===

M   source/blender/draw/engines/lanpr/lanpr_chain.c
M   source/blender/draw/engines/lanpr/lanpr_engine.c
M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index dd19ee80204..c592c373cc1 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -26,25 +26,39 @@
 
 #include 
 
-int lanpr_GetLineBoundingAreas(LANPR_RenderBuffer *rb, LANPR_RenderLine *rl, 
int *RowBegin, int *RowEnd, int *ColBegin, int *ColEnd) ;
-LANPR_BoundingArea* lanpr_GetPointBoundingArea(LANPR_RenderBuffer *rb, real x, 
real y) ;
+int lanpr_GetLineBoundingAreas(LANPR_RenderBuffer *rb, LANPR_RenderLine *rl, 
int *RowBegin, int *RowEnd, int *ColBegin, int *ColEnd);
+LANPR_BoundingArea* lanpr_GetPointBoundingArea(LANPR_RenderBuffer *rb, real x, 
real y);
 
-LANPR_RenderLine* lanpr_GetConnectedRenderLine(LANPR_BoundingArea* ba, 
LANPR_RenderVert* rv){
-nListItemPointer* lip;
-LANPR_RenderLine* nrl;
-real cosine;
+#define LANPR_OTHER_RV(rl,rv) ((rv) == (rl)->L?(rl)->R:(rl)->L) 
+
+LANPR_RenderLine* lanpr_GetConnectedRenderLine(LANPR_BoundingArea* ba, 
LANPR_RenderVert* rv, LANPR_RenderVert** new_rv) {
+   nListItemPointer* lip;
+   LANPR_RenderLine* nrl;
+   real cosine;
 
-for(lip = ba->LinkedLines.pFirst; lip; lip=lip->pNext){
-nrl = lip->p;
+   for (lip = ba->LinkedLines.pFirst; lip; lip = lip->pNext) {
+   nrl = lip->p;
 
-if((!(nrl->Flags_EDGE_FLAG_ALL_TYPE)) || (nrl->Flags & 
LANPR_EDGE_FLAG_CHAIN_PICKED)) continue;
+   if ((!(nrl->Flags_EDGE_FLAG_ALL_TYPE)) || (nrl->Flags & 
LANPR_EDGE_FLAG_CHAIN_PICKED)) continue;
 
-// always chain connected lines for now.
-// simplification will take care of the sharp points.
-// if(cosine whatever) continue;
+   // always chain connected lines for now.
+   // simplification will take care of the sharp points.
+   // if(cosine whatever) continue;
 
-if(rv != nrl->L && rv != nrl->R) continue;
+   if (rv != nrl->L && rv != nrl->R) {
+   if (nrl->Flags_EDGE_FLAG_INTERSECTION) {
+   if (rv->FrameBufferCoord[0] == 
nrl->L->FrameBufferCoord[0] && rv->FrameBufferCoord[1] == 
nrl->L->FrameBufferCoord[1]) {
+   *new_rv = LANPR_OTHER_RV(nrl, nrl->L);
+   return nrl;
+   }elif(rv->FrameBufferCoord[0] == 
nrl->R->FrameBufferCoord[0] && rv->FrameBufferCoord[1] == 
nrl->R->FrameBufferCoord[1]){
+   *new_rv = LANPR_OTHER_RV(nrl, nrl->R);
+   return nrl;
+   }
+   }
+   continue;
+   }
 
+   *new_rv = LANPR_OTHER_RV(nrl, rv);
 return nrl;
 }
 
@@ -119,9 +133,6 @@ void 
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
 }
 
 
-#define LANPR_OTHER_RV(rl,rv) ((rv) == (rl)->L?(rl)->R:(rl)->L) 
-
-
 void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer *rb, float 
dist_threshold){
 LANPR_RenderLineChain* rlc;
 LANPR_RenderLine* rl;
@@ -144,9 +155,8 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
 ba = lanpr_GetPointBoundingArea(rb,rl->L->FrameBufferCoord[0], 
rl->L->FrameBufferCoord[1]);
 new_rv = rl->L;
 
lanpr_push_render_line_chain_point(rb,rlc,new_rv->FrameBufferCoord[0],new_rv->FrameBufferCoord[1],rl->Flags,0);
-while(new_rl = lanpr_GetConnectedRenderLine(ba,new_rv)){
+while(new_rl = lanpr_GetConnectedRenderLine(ba,new_rv,_rv)){
 new_rl->Flags |= LANPR_EDGE_FLAG_CHAIN_PICKED;
-new_rv = LANPR_OTHER_RV(new_rl,new_rv);
 
 int last_occlude;
 
@@ -188,9 +198,8 @@ void lanpr_ChainFeatureLines_NO_THREAD(LANPR_RenderBuffer 
*rb, float dist_thresh
 new_rv = rl->R;
 // below already done in step 2
 // 
lanpr_push_render_line_chain_point(rb,rlc,new_rv->FrameBufferCoord[0],new_rv->FrameBufferCoord[1],rl->Flags,0);
-while(new_rl = lanpr_GetConnectedRenderLine(ba,new_rv)){
+while(new_rl = lanpr_

[Bf-blender-cvs] [8bb97b6318f] soc-2018-npr: Fixed not updating normal error. now all lines properly calculated.

2018-07-19 Thread Nick Wu
Commit: 8bb97b6318f86da86a6e0f99d9356cdb24bf1db8
Author: Nick Wu
Date:   Thu Jul 19 15:50:50 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB8bb97b6318f86da86a6e0f99d9356cdb24bf1db8

Fixed not updating normal error. now all lines properly calculated.

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 6c92a610304..1d7c1b9e1ac 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -618,6 +618,9 @@ void lanpr_CutLineIntegrated(LANPR_RenderBuffer *rb, 
LANPR_RenderLine *rl, real
break;
}
}
+   if (!BeginSegment && TNS_DOUBLE_CLOSE_ENOUGH(1, End)) {
+   untouched = 1;
+   }
for (rls = BeginSegment; rls; rls = rls->Item.pNext) {
if (TNS_DOUBLE_CLOSE_ENOUGH(rls->at, End)) {
EndSegment = rls;
@@ -639,7 +642,10 @@ void lanpr_CutLineIntegrated(LANPR_RenderBuffer *rb, 
LANPR_RenderLine *rl, real
}
 
if (!ns) ns = memStaticAquireThread(>RenderDataPool, 
sizeof(LANPR_RenderLineSegment));
-   if (!ns2) ns2 = memStaticAquireThread(>RenderDataPool, 
sizeof(LANPR_RenderLineSegment));
+   if (!ns2) {
+   if (untouched) { ns2 = ns; EndSegment = ns2; }
+   else ns2 = memStaticAquireThread(>RenderDataPool, 
sizeof(LANPR_RenderLineSegment));
+   }
 
if (BeginSegment) {
if (BeginSegment != ns) {
@@ -1590,7 +1596,9 @@ void lanpr_MakeRenderGeometryBuffersObject(Object *o, 
real *MVMat, real *MVPMat,
bm = BM_mesh_create(,
&((struct BMeshCreateParams) 
{.use_toolflags = true, }));
BM_mesh_bm_from_me(bm, o->data, &((struct BMeshFromMeshParams) 
{.calc_face_normal = true, }));
+   BM_mesh_elem_hflag_disable_all(bm, BM_FACE | BM_EDGE, 
BM_ELEM_TAG, false);
BM_mesh_triangulate(bm, MOD_TRIANGULATE_QUAD_BEAUTY, 
MOD_TRIANGULATE_NGON_BEAUTY, false, NULL, NULL, NULL);
+   BM_mesh_normals_update(bm);
BM_mesh_elem_table_ensure(bm, BM_VERT | BM_EDGE | BM_FACE);
BM_mesh_elem_index_ensure(bm, BM_VERT | BM_EDGE | BM_FACE);

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [4719b8f5613] soc-2018-npr: Fix occlusion error

2018-07-19 Thread Nick Wu
Commit: 4719b8f561357d91b33a29f38a8d2a78048cd99b
Author: Nick Wu
Date:   Thu Jul 19 13:51:01 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB4719b8f561357d91b33a29f38a8d2a78048cd99b

Fix occlusion error

===

M   source/blender/draw/engines/lanpr/lanpr_ops.c

===

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 653b41205b2..6c92a610304 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -587,6 +587,7 @@ void lanpr_CutLineIntegrated(LANPR_RenderBuffer *rb, 
LANPR_RenderLine *rl, real
LANPR_RenderLineSegment *rls = rl->Segments.pFirst, *irls;
LANPR_RenderLineSegment *BeginSegment = 0, *EndSegment = 0;
LANPR_RenderLineSegment *ns = 0, *ns2 = 0;
+   int untouched=0;
 
if (TNS_DOUBLE_CLOSE_ENOUGH(Begin, End)) return;
 
@@ -628,6 +629,7 @@ void lanpr_CutLineIntegrated(LANPR_RenderBuffer *rb, 
LANPR_RenderLine *rl, real
if (!rls->Item.pNext && TNS_DOUBLE_CLOSE_ENOUGH(1, End)) {
EndSegment = rls;
ns2 = EndSegment;
+   untouched = 1;
break;
}elif (rls->at > End) {
EndSegment = rls;
@@ -661,7 +663,8 @@ void lanpr_CutLineIntegrated(LANPR_RenderBuffer *rb, 
LANPR_RenderLine *rl, real
}
 
ns->at = Begin;
-   if(!TNS_DOUBLE_CLOSE_ENOUGH(1, End)) ns2->at = End;
+   if(!untouched) ns2->at = End;
+   else ns2 = ns2->Item.pNext;
 
for (rls = ns; rls && rls != ns2; rls = rls->Item.pNext) {
rls->OccludeLevel++;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


  1   2   3   >