[Bf-blender-cvs] [0e7c9a9] object_nodes: Split opcode macro into thematic sections to make it easier to handle them in parts.
Lukas Tönne
noreply at git.blender.org
Thu May 12 19:26:46 CEST 2016
Commit: 0e7c9a93ae8cd7560ce879d178af20e3bf6d441e
Author: Lukas Tönne
Date: Thu May 12 18:17:32 2016 +0200
Branches: object_nodes
https://developer.blender.org/rB0e7c9a93ae8cd7560ce879d178af20e3bf6d441e
Split opcode macro into thematic sections to make it easier to handle them in parts.
===================================================================
M source/blender/blenvm/util/util_opcode.h
===================================================================
diff --git a/source/blender/blenvm/util/util_opcode.h b/source/blender/blenvm/util/util_opcode.h
index 1dd7010..2d304c7 100644
--- a/source/blender/blenvm/util/util_opcode.h
+++ b/source/blender/blenvm/util/util_opcode.h
@@ -38,11 +38,11 @@ extern "C" {
namespace blenvm {
-/* Macro to handle all opcodes.
+/* Macros to handle opcodes.
* Expects DEF_OPCODE to be defined locally for this purpose.
*/
/*************************************/
-#define BVM_DEFINE_OPCODES \
+#define BVM_DEFINE_OPCODES_BASE \
DEF_OPCODE(NOOP) \
DEF_OPCODE(VALUE_FLOAT) \
DEF_OPCODE(VALUE_FLOAT3) \
@@ -54,28 +54,26 @@ namespace blenvm {
DEF_OPCODE(VALUE_MESH) \
DEF_OPCODE(VALUE_DUPLIS) \
\
- DEF_OPCODE(RANGE_INT) \
- \
DEF_OPCODE(FLOAT_TO_INT) \
DEF_OPCODE(INT_TO_FLOAT) \
DEF_OPCODE(SET_FLOAT3) \
DEF_OPCODE(GET_ELEM_FLOAT3) \
DEF_OPCODE(SET_FLOAT4) \
DEF_OPCODE(GET_ELEM_FLOAT4) \
- DEF_OPCODE(MATRIX44_TO_LOC) \
- DEF_OPCODE(MATRIX44_TO_EULER) \
- DEF_OPCODE(MATRIX44_TO_AXISANGLE) \
- DEF_OPCODE(MATRIX44_TO_SCALE) \
- DEF_OPCODE(LOC_TO_MATRIX44) \
- DEF_OPCODE(EULER_TO_MATRIX44) \
- DEF_OPCODE(AXISANGLE_TO_MATRIX44) \
- DEF_OPCODE(SCALE_TO_MATRIX44) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_POINTERS \
DEF_OPCODE(INIT_MESH_PTR) \
DEF_OPCODE(RELEASE_MESH_PTR) \
DEF_OPCODE(INIT_DUPLIS_PTR) \
DEF_OPCODE(RELEASE_DUPLIS_PTR) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_ITERATOR \
+ DEF_OPCODE(RANGE_INT) \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_MATH \
DEF_OPCODE(ADD_FLOAT) \
DEF_OPCODE(SUB_FLOAT) \
DEF_OPCODE(MUL_FLOAT) \
@@ -124,11 +122,26 @@ namespace blenvm {
DEF_OPCODE(MUL_MATRIX44_FLOAT3) \
DEF_OPCODE(MUL_MATRIX44_FLOAT4) \
\
+ DEF_OPCODE(MATRIX44_TO_LOC) \
+ DEF_OPCODE(MATRIX44_TO_EULER) \
+ DEF_OPCODE(MATRIX44_TO_AXISANGLE) \
+ DEF_OPCODE(MATRIX44_TO_SCALE) \
+ DEF_OPCODE(LOC_TO_MATRIX44) \
+ DEF_OPCODE(EULER_TO_MATRIX44) \
+ DEF_OPCODE(AXISANGLE_TO_MATRIX44) \
+ DEF_OPCODE(SCALE_TO_MATRIX44) \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_COLOR \
DEF_OPCODE(MIX_RGB) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_RANDOM \
DEF_OPCODE(INT_TO_RANDOM) \
DEF_OPCODE(FLOAT_TO_RANDOM) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_TEXTURE \
DEF_OPCODE(TEX_PROC_VORONOI) \
DEF_OPCODE(TEX_PROC_MAGIC) \
DEF_OPCODE(TEX_PROC_MARBLE) \
@@ -137,37 +150,60 @@ namespace blenvm {
DEF_OPCODE(TEX_PROC_MUSGRAVE) \
DEF_OPCODE(TEX_PROC_STUCCI) \
DEF_OPCODE(TEX_PROC_DISTNOISE) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_OBJECT \
DEF_OPCODE(OBJECT_LOOKUP) \
DEF_OPCODE(OBJECT_TRANSFORM) \
DEF_OPCODE(OBJECT_FINAL_MESH) \
\
DEF_OPCODE(EFFECTOR_TRANSFORM) \
DEF_OPCODE(EFFECTOR_CLOSEST_POINT) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_MODIFIER \
DEF_OPCODE(MESH_LOAD) \
DEF_OPCODE(MESH_COMBINE) \
DEF_OPCODE(MESH_ARRAY) \
DEF_OPCODE(MESH_DISPLACE) \
DEF_OPCODE(MESH_BOOLEAN) \
DEF_OPCODE(MESH_CLOSEST_POINT) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_CURVE \
DEF_OPCODE(CURVE_PATH) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_IMAGE \
DEF_OPCODE(IMAGE_SAMPLE) \
- \
+
+/*************************************/
+#define BVM_DEFINE_OPCODES_DUPLI \
DEF_OPCODE(MAKE_DUPLI) \
DEF_OPCODE(DUPLIS_COMBINE) \
- \
- DEF_OPCODE(END)
+
/*************************************/
+#define BVM_DEFINE_OPCODES \
+ BVM_DEFINE_OPCODES_BASE \
+ BVM_DEFINE_OPCODES_COLOR \
+ BVM_DEFINE_OPCODES_CURVE \
+ BVM_DEFINE_OPCODES_DUPLI \
+ BVM_DEFINE_OPCODES_IMAGE \
+ BVM_DEFINE_OPCODES_ITERATOR \
+ BVM_DEFINE_OPCODES_MATH \
+ BVM_DEFINE_OPCODES_MODIFIER \
+ BVM_DEFINE_OPCODES_OBJECT \
+ BVM_DEFINE_OPCODES_POINTERS \
+ BVM_DEFINE_OPCODES_RANDOM \
+ BVM_DEFINE_OPCODES_TEXTURE \
/* Define the main enum for opcodes */
#define DEF_OPCODE(op) \
OP_##op,
enum OpCode {
- BVM_DEFINE_OPCODES
+ BVM_DEFINE_OPCODES \
+ OP_END,
};
#undef DEF_OPCODE
More information about the Bf-blender-cvs
mailing list