Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-12-16 23:53:12 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-12-16 23:53:12 +0400
commit3311164b24da61f2967f96d0ee27508a7e2e0267 (patch)
tree0824417cf3d645f59d98b210c02a4c5ef6c05a48 /source/blender/gpu
parent3c8ab559a5bd31fd38e9c5cf9da8505ca28f4887 (diff)
Math lib: matrix multiplication order fix for two functions that were
inconsistent with similar functions & math notation: mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B) mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B) For branch maintainers, it should be relatively simple to fix things manually, it's also possible run this script after merging to do automatic replacement: http://www.pasteall.org/27459/python
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/intern/gpu_material.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c
index 4b991a36626..250ea51f8c8 100644
--- a/source/blender/gpu/intern/gpu_material.c
+++ b/source/blender/gpu/intern/gpu_material.c
@@ -321,9 +321,9 @@ void GPU_material_bind_uniforms(GPUMaterial *material, float obmat[][4], float v
}
if(material->dynproperty & DYN_LAMP_IMAT)
- mul_m4_m4m4(lamp->dynimat, viewinv, lamp->imat);
+ mult_m4_m4m4(lamp->dynimat, lamp->imat, viewinv);
if(material->dynproperty & DYN_LAMP_PERSMAT)
- mul_m4_m4m4(lamp->dynpersmat, viewinv, lamp->persmat);
+ mult_m4_m4m4(lamp->dynpersmat, lamp->persmat, viewinv);
}
GPU_pass_update_uniforms(material->pass);
@@ -1671,7 +1671,7 @@ void GPU_lamp_shadow_buffer_bind(GPULamp *lamp, float viewmat[][4], int *winsize
normalize_v3(lamp->viewmat[2]);
/* makeshadowbuf */
- mul_m4_m4m4(persmat, lamp->viewmat, lamp->winmat);
+ mult_m4_m4m4(persmat, lamp->winmat, lamp->viewmat);
/* opengl depth buffer is range 0.0..1.0 instead of -1.0..1.0 in blender */
unit_m4(rangemat);
@@ -1682,7 +1682,7 @@ void GPU_lamp_shadow_buffer_bind(GPULamp *lamp, float viewmat[][4], int *winsize
rangemat[3][1] = 0.5f;
rangemat[3][2] = 0.5f;
- mul_m4_m4m4(lamp->persmat, persmat, rangemat);
+ mult_m4_m4m4(lamp->persmat, rangemat, persmat);
/* opengl */
glDisable(GL_SCISSOR_TEST);