[Bf-blender-cvs] [dad2db3bc9b] lanpr-under-gp: Refactor: ED_lanpr functions renamed to ED_lineart
YimingWu
noreply at git.blender.org
Sat Jun 27 08:32:10 CEST 2020
Commit: dad2db3bc9b0f814e4b50d59fff5c2acbf32a2f0
Author: YimingWu
Date: Sat Jun 27 14:32:04 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rBdad2db3bc9b0f814e4b50d59fff5c2acbf32a2f0
Refactor: ED_lanpr functions renamed to ED_lineart
===================================================================
M source/blender/editors/include/ED_lanpr.h
===================================================================
diff --git a/source/blender/editors/include/ED_lanpr.h b/source/blender/editors/include/ED_lanpr.h
index d5cd62583ae..1f3b1a2226d 100644
--- a/source/blender/editors/include/ED_lanpr.h
+++ b/source/blender/editors/include/ED_lanpr.h
@@ -38,22 +38,22 @@
#include <math.h>
#include <string.h>
-typedef struct LANPR_StaticMemPoolNode {
+typedef struct eLineArtStaticMemPoolNode {
Link item;
int used_byte;
/* User memory starts here */
-} LANPR_StaticMemPoolNode;
+} eLineArtStaticMemPoolNode;
-typedef struct LANPR_StaticMemPool {
+typedef struct eLineArtStaticMemPool {
int each_size;
ListBase pools;
SpinLock lock_mem;
-} LANPR_StaticMemPool;
+} eLineArtStaticMemPool;
-typedef struct LANPR_RenderTriangle {
- struct LANPR_RenderTriangle *next, *prev;
- struct LANPR_RenderVert *v[3];
- struct LANPR_RenderLine *rl[3];
+typedef struct eLineArtRenderTriangle {
+ struct eLineArtRenderTriangle *next, *prev;
+ struct eLineArtRenderVert *v[3];
+ struct eLineArtRenderLine *rl[3];
double gn[3];
double gc[3];
/* struct BMFace *F; */
@@ -61,64 +61,64 @@ typedef struct LANPR_RenderTriangle {
ListBase intersecting_verts;
char cull_status;
/** Should be testing** , Use testing[NumOfThreads] to access. */
- struct LANPR_RenderTriangle *testing;
-} LANPR_RenderTriangle;
+ struct eLineArtRenderTriangle *testing;
+} eLineArtRenderTriangle;
-typedef struct LANPR_RenderTriangleThread {
- struct LANPR_RenderTriangle base;
- struct LANPR_RenderLine *testing[127];
-} LANPR_RenderTriangleThread;
+typedef struct eLineArtRenderTriangleThread {
+ struct eLineArtRenderTriangle base;
+ struct eLineArtRenderLine *testing[127];
+} eLineArtRenderTriangleThread;
-typedef struct LANPR_RenderElementLinkNode {
- struct LANPR_RenderElementLinkNode *next, *prev;
+typedef struct eLineArtRenderElementLinkNode {
+ struct eLineArtRenderElementLinkNode *next, *prev;
void *pointer;
int element_count;
void *object_ref;
char additional;
-} LANPR_RenderElementLinkNode;
+} eLineArtRenderElementLinkNode;
-typedef struct LANPR_RenderLineSegment {
- struct LANPR_RenderLineSegment *next, *prev;
+typedef struct eLineArtRenderLineSegment {
+ struct eLineArtRenderLineSegment *next, *prev;
/** at==0: left at==1: right (this is in 2D projected space) */
double at;
/** Occlusion level after "at" point */
unsigned char occlusion;
/** For determining lines beind a glass window material. (TODO: implement this) */
short material_mask_mark;
-} LANPR_RenderLineSegment;
+} eLineArtRenderLineSegment;
-typedef struct LANPR_RenderVert {
- struct LANPR_RenderVert *next, *prev;
+typedef struct eLineArtRenderVert {
+ struct eLineArtRenderVert *next, *prev;
double gloc[4];
double fbcoord[4];
int fbcoordi[2];
/** Used as "r" when intersecting */
struct BMVert *v;
- struct LANPR_RenderLine *intersecting_line;
- struct LANPR_RenderLine *intersecting_line2;
- struct LANPR_RenderTriangle *intersecting_with;
+ struct eLineArtRenderLine *intersecting_line;
+ struct eLineArtRenderLine *intersecting_line2;
+ struct eLineArtRenderTriangle *intersecting_with;
/** This will used in future acceleration for intersection processing. */
char edge_used;
-} LANPR_RenderVert;
-
-typedef enum LANPR_EdgeFlag {
- LANPR_EDGE_FLAG_EDGE_MARK = (1 << 0),
- LANPR_EDGE_FLAG_CONTOUR = (1 << 1),
- LANPR_EDGE_FLAG_CREASE = (1 << 2),
- LANPR_EDGE_FLAG_MATERIAL = (1 << 3),
- LANPR_EDGE_FLAG_INTERSECTION = (1 << 4),
+} eLineArtRenderVert;
+
+typedef enum eLineArtEdgeFlag {
+ LRT_EDGE_FLAG_EDGE_MARK = (1 << 0),
+ LRT_EDGE_FLAG_CONTOUR = (1 << 1),
+ LRT_EDGE_FLAG_CREASE = (1 << 2),
+ LRT_EDGE_FLAG_MATERIAL = (1 << 3),
+ LRT_EDGE_FLAG_INTERSECTION = (1 << 4),
/** floating edge, unimplemented yet */
- LANPR_EDGE_FLAG_FLOATING = (1 << 5),
- LANPR_EDGE_FLAG_CHAIN_PICKED = (1 << 6),
-} LANPR_EdgeFlag;
+ LRT_EDGE_FLAG_FLOATING = (1 << 5),
+ LRT_EDGE_FLAG_CHAIN_PICKED = (1 << 6),
+} eLineArtEdgeFlag;
-#define LANPR_EDGE_FLAG_ALL_TYPE 0x3f
+#define LRT_EDGE_FLAG_ALL_TYPE 0x3f
-typedef struct LANPR_RenderLine {
- struct LANPR_RenderLine *next, *prev;
- struct LANPR_RenderVert *l, *r;
- struct LANPR_RenderTriangle *tl, *tr;
+typedef struct eLineArtRenderLine {
+ struct eLineArtRenderLine *next, *prev;
+ struct eLineArtRenderVert *l, *r;
+ struct eLineArtRenderTriangle *tl, *tr;
ListBase segments;
char min_occ;
@@ -130,10 +130,10 @@ typedef struct LANPR_RenderLine {
/** For gpencil stroke modifier */
int edge_idx;
-} LANPR_RenderLine;
+} eLineArtRenderLine;
-typedef struct LANPR_RenderLineChain {
- struct LANPR_RenderLineChain *next, *prev;
+typedef struct eLineArtRenderLineChain {
+ struct eLineArtRenderLineChain *next, *prev;
ListBase chain;
/** Calculated before draw cmd. */
@@ -146,10 +146,10 @@ typedef struct LANPR_RenderLineChain {
/** Chain now only contains one type of segments */
int type;
struct Object *object_ref;
-} LANPR_RenderLineChain;
+} eLineArtRenderLineChain;
-typedef struct LANPR_RenderLineChainItem {
- struct LANPR_RenderLineChainItem *next, *prev;
+typedef struct eLineArtRenderLineChainItem {
+ struct eLineArtRenderLineChainItem *next, *prev;
/** Need z value for fading */
float pos[3];
/** For restoring position to 3d space */
@@ -157,21 +157,21 @@ typedef struct LANPR_RenderLineChainItem {
float normal[3];
char line_type;
char occlusion;
-} LANPR_RenderLineChainItem;
+} eLineArtRenderLineChainItem;
-typedef struct LANPR_ChainRegisterEntry {
- struct LANPR_ChainRegisterEntry *next, *prev;
- LANPR_RenderLineChain *rlc;
- LANPR_RenderLineChainItem *rlci;
+typedef struct eLineArtChainRegisterEntry {
+ struct eLineArtChainRegisterEntry *next, *prev;
+ eLineArtRenderLineChain *rlc;
+ eLineArtRenderLineChainItem *rlci;
char picked;
/** left/right mark.
* Because we revert list in chaining so we need the flag. */
char is_left;
-} LANPR_ChainRegisterEntry;
+} eLineArtChainRegisterEntry;
-typedef struct LANPR_RenderBuffer {
- struct LANPR_RenderBuffer *prev, *next;
+typedef struct eLineArtRenderBuffer {
+ struct eLineArtRenderBuffer *prev, *next;
/** For render. */
int is_copied;
@@ -185,7 +185,7 @@ typedef struct LANPR_RenderBuffer {
int output_mode;
int output_aa_level;
- struct LANPR_BoundingArea *initial_bounding_areas;
+ struct eLineArtBoundingArea *initial_bounding_areas;
unsigned int bounding_area_count;
ListBase vertex_buffer_pointers;
@@ -195,7 +195,7 @@ typedef struct LANPR_RenderBuffer {
ListBase intersecting_vertex_buffer;
/** Use the one comes with LANPR. */
- LANPR_StaticMemPool render_data_pool;
+ eLineArtStaticMemPool render_data_pool;
struct Material *material_pointers[2048];
@@ -260,24 +260,24 @@ typedef struct LANPR_RenderBuffer {
double shift_x, shift_y;
double chaining_image_threshold;
double chaining_geometry_threshold;
-} LANPR_RenderBuffer;
+} eLineArtRenderBuffer;
-typedef enum LANPR_RenderStatus {
- LANPR_RENDER_IDLE = 0,
- LANPR_RENDER_RUNNING = 1,
- LANPR_RENDER_INCOMPELTE = 2,
- LANPR_RENDER_FINISHED = 3,
-} LANPR_RenderStatus;
+typedef enum eLineArtRenderStatus {
+ LRT_RENDER_IDLE = 0,
+ LRT_RENDER_RUNNING = 1,
+ LRT_RENDER_INCOMPELTE = 2,
+ LRT_RENDER_FINISHED = 3,
+} eLineArtRenderStatus;
-typedef enum LANPR_INIT_STATUS {
- LANPR_INIT_ENGINE = (1 << 0),
- LANPR_INIT_LOCKS = (1 << 1),
-} LANPR_INIT_STATUS;
+typedef enum eLineArtInitStatus {
+ LRT_INIT_ENGINE = (1 << 0),
+ LRT_INIT_LOCKS = (1 << 1),
+} eLineArtInitStatus;
-typedef struct LANPR_SharedResource {
+typedef struct eLineArtSharedResource {
/* We only allocate once for all */
- LANPR_RenderBuffer *render_buffer_shared;
+ eLineArtRenderBuffer *render_buffer_shared;
/* cache */
struct BLI_mempool *mp_sample;
@@ -287,19 +287,19 @@ typedef struct LANPR_SharedResource {
struct TaskPool *background_render_task;
- LANPR_INIT_STATUS init_complete;
+ eLineArtInitStatus init_complete;
/** To bypass or cancel rendering.
- * This status flag should be kept in lanpr_share not render_buffer,
+ * This status flag should be kept in lineart_share not render_buffer,
* because render_buffer will get re-initialized every frame.
*/
SpinLock lock_render_status;
- LANPR_RenderStatus flag_render_status;
+ eLineArtRenderStatus flag_render_status;
/** Geometry loading is done in the worker thread,
* Lock the render thread until loading is done, so that
* we can avoid depsgrapgh deleting the scene before
- * LANPR finishes loading. Also keep this in lanpr_share.
+ * LANPR finishes loading. Also keep this in lineart_share.
*/
SpinLock lock_loader;
@@ -312,28 +312,28 @@ typedef struct LANPR_SharedResource {
float viewinv[4][4];
float persp[4][4];
float viewquat[4];
-} LANPR_SharedResource;
+} eLineArtSharedResource;
#define DBL_TRIANGLE_LIM 1e-8
#define DBL_EDGE_LIM 1e-9
-#define LANPR_MEMORY_POOL_1MB 1048576
-#define LANPR_MEMORY_POOL_128MB 134217728
-#define LANPR_MEMORY_POOL_256MB 268435456
-#define LANPR_MEMORY_POOL_512MB 536870912
+#define LRT_MEMORY_POOL_1MB 1048576
+#define LRT_MEMORY_POOL_128MB 134217728
+#define LRT_MEMORY_POOL_256MB 268435456
+#define LRT_MEMORY_POOL_512MB 536870912
-typedef enum LANPR_CullState {
- LANPR_CULL_DONT_CARE = 0,
- LANPR_CULL_USED = 1,
- LANPR_CULL_DISCARD = 2,
-} LANPR_CullState;
+typedef enum eLineArtCullState {
+ LRT_CULL_DONT_CARE = 0,
+ LRT_CULL_USED = 1,
+ LRT_CULL_DISCARD = 2,
+} eLineArtCullState;
/** Controls how many lines a worker thread is processing at one request.
* There's no significant performance impact on choosing different values.
* Don't make it too small so that the worker thread won't request too many times. */
-#define TNS_THREAD_LINE_COUNT 10000
+#define LRT_THREAD_LINE_COUNT 10000
-typedef struct LANPR_RenderTaskInfo {
+typedef struct eLineArtRenderTaskInfo {
int thread_id;
LinkData *contour;
@@ -351,7 +351,7 @@ typedef struct LANPR_RenderTaskInfo {
LinkData *edge_mark;
ListBase edge_mark_pointers;
-} LANPR_RenderTaskInfo;
+} eLineArtRenderTaskInfo;
/** Bounding area diagram:
*
@@ -372,12 +372,12
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list