[Bf-blender-cvs] [958fc6944f7] master: Cleanup: make texture coordinates const

Jacques Lucke noreply at git.blender.org
Thu Oct 1 16:57:13 CEST 2020


Commit: 958fc6944f75f51b9fe5b47f29ff82156b3c6286
Author: Jacques Lucke
Date:   Thu Oct 1 16:56:24 2020 +0200
Branches: master
https://developer.blender.org/rB958fc6944f75f51b9fe5b47f29ff82156b3c6286

Cleanup: make texture coordinates const

===================================================================

M	source/blender/blenkernel/BKE_node.h
M	source/blender/blenkernel/BKE_texture.h
M	source/blender/blenkernel/intern/texture.c
M	source/blender/nodes/texture/node_texture_tree.c
M	source/blender/nodes/texture/node_texture_util.h
M	source/blender/render/extern/include/RE_shader_ext.h
M	source/blender/render/intern/source/render_texture.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 06c9b9ab0ca..5200a1b03fe 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1311,7 +1311,7 @@ struct bNodeTreeExec *ntreeTexBeginExecTree(struct bNodeTree *ntree);
 void ntreeTexEndExecTree(struct bNodeTreeExec *exec);
 int ntreeTexExecTree(struct bNodeTree *ntree,
                      struct TexResult *target,
-                     float co[3],
+                     const float co[3],
                      float dxt[3],
                      float dyt[3],
                      int osatex,
diff --git a/source/blender/blenkernel/BKE_texture.h b/source/blender/blenkernel/BKE_texture.h
index c4c2498c2b1..aae8ffc47b9 100644
--- a/source/blender/blenkernel/BKE_texture.h
+++ b/source/blender/blenkernel/BKE_texture.h
@@ -85,14 +85,14 @@ bool BKE_texture_is_image_user(const struct Tex *tex);
 
 void BKE_texture_get_value_ex(const struct Scene *scene,
                               struct Tex *texture,
-                              float *tex_co,
+                              const float *tex_co,
                               struct TexResult *texres,
                               struct ImagePool *pool,
                               bool use_color_management);
 
 void BKE_texture_get_value(const struct Scene *scene,
                            struct Tex *texture,
-                           float *tex_co,
+                           const float *tex_co,
                            struct TexResult *texres,
                            bool use_color_management);
 
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 698f6b8cffd..b74b7d57b2e 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -747,7 +747,7 @@ bool BKE_texture_dependsOnTime(const struct Tex *texture)
 
 void BKE_texture_get_value_ex(const Scene *scene,
                               Tex *texture,
-                              float *tex_co,
+                              const float *tex_co,
                               TexResult *texres,
                               struct ImagePool *pool,
                               bool use_color_management)
@@ -774,8 +774,11 @@ void BKE_texture_get_value_ex(const Scene *scene,
   }
 }
 
-void BKE_texture_get_value(
-    const Scene *scene, Tex *texture, float *tex_co, TexResult *texres, bool use_color_management)
+void BKE_texture_get_value(const Scene *scene,
+                           Tex *texture,
+                           const float *tex_co,
+                           TexResult *texres,
+                           bool use_color_management)
 {
   BKE_texture_get_value_ex(scene, texture, tex_co, texres, NULL, use_color_management);
 }
diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.c
index d8818657e1c..2d593c6218a 100644
--- a/source/blender/nodes/texture/node_texture_tree.c
+++ b/source/blender/nodes/texture/node_texture_tree.c
@@ -277,7 +277,7 @@ void ntreeTexEndExecTree(bNodeTreeExec *exec)
 
 int ntreeTexExecTree(bNodeTree *ntree,
                      TexResult *target,
-                     float co[3],
+                     const float co[3],
                      float dxt[3],
                      float dyt[3],
                      int osatex,
diff --git a/source/blender/nodes/texture/node_texture_util.h b/source/blender/nodes/texture/node_texture_util.h
index 17a88ddaf5b..01d1aa5cd62 100644
--- a/source/blender/nodes/texture/node_texture_util.h
+++ b/source/blender/nodes/texture/node_texture_util.h
@@ -70,7 +70,7 @@ extern "C" {
 typedef struct TexCallData {
   TexResult *target;
   /* all float[3] */
-  float *co;
+  const float *co;
   float *dxt, *dyt;
 
   int osatex;
@@ -84,7 +84,7 @@ typedef struct TexCallData {
 } TexCallData;
 
 typedef struct TexParams {
-  float *co;
+  const float *co;
   float *dxt, *dyt;
   const float *previewco;
   int cfra;
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index dc41afee938..d9d5a924949 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -61,14 +61,14 @@ int multitex_ext(struct Tex *tex,
                  const bool skip_load_image);
 /* nodes disabled */
 int multitex_ext_safe(struct Tex *tex,
-                      float texvec[3],
+                      const float texvec[3],
                       struct TexResult *texres,
                       struct ImagePool *pool,
                       bool scene_color_manage,
                       const bool skip_load_image);
 /* only for internal node usage */
 int multitex_nodes(struct Tex *tex,
-                   float texvec[3],
+                   const float texvec[3],
                    float dxt[3],
                    float dyt[3],
                    int osatex,
diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index e5c62dbd784..12abc0f9216 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -1150,7 +1150,7 @@ static void do_2d_mapping(
 /* ************************************** */
 
 static int multitex(Tex *tex,
-                    float texvec[3],
+                    const float texvec[3],
                     float dxt[3],
                     float dyt[3],
                     int osatex,
@@ -1280,7 +1280,7 @@ static int multitex(Tex *tex,
 }
 
 static int multitex_nodes_intern(Tex *tex,
-                                 float texvec[3],
+                                 const float texvec[3],
                                  float dxt[3],
                                  float dyt[3],
                                  int osatex,
@@ -1307,10 +1307,12 @@ static int multitex_nodes_intern(Tex *tex,
     int rgbnor;
 
     if (mtex) {
+      float texvec_l[3];
+      copy_v3_v3(texvec_l, texvec);
       /* we have mtex, use it for 2d mapping images only */
-      do_2d_mapping(mtex, texvec, NULL, dxt, dyt);
+      do_2d_mapping(mtex, texvec_l, NULL, dxt, dyt);
       rgbnor = multitex(tex,
-                        texvec,
+                        texvec_l,
                         dxt,
                         dyt,
                         osatex,
@@ -1400,7 +1402,7 @@ static int multitex_nodes_intern(Tex *tex,
  * Use it from render pipeline only!
  */
 int multitex_nodes(Tex *tex,
-                   float texvec[3],
+                   const float texvec[3],
                    float dxt[3],
                    float dyt[3],
                    int osatex,
@@ -1465,7 +1467,7 @@ int multitex_ext(Tex *tex,
  * Use it for stuff which is out of render pipeline.
  */
 int multitex_ext_safe(Tex *tex,
-                      float texvec[3],
+                      const float texvec[3],
                       TexResult *texres,
                       struct ImagePool *pool,
                       bool scene_color_manage,



More information about the Bf-blender-cvs mailing list