PDA

View Full Version : mat4 * vec3



V-man
10-10-2005, 08:43 AM
I would like to do mat4 * vec3.
I guess I have a few options like


vec3 myvector;

myvector = vec3(mymatrix * vec4(myvector, 0.0));Do you think this is wasteful?
It might compile to

MOV r0, myvector;
MOV r0.w, 0.0;
DP4 myvector.x, mymatrix[0], r0;
DP4 myvector.y, mymatrix[1], r0;
DP4 myvector.z, mymatrix[2], r0;

I would like to cast mymatrix to a mat3 instead. I want the upper left 3x3.

GLSL Syntax validator says
ERROR: 0:9: 'constructor' : constructing matrix from matrix (reserved)
ERROR: 1 compilation errors. No code generated.

if I do


myvector = mat3(mymatrix) * myvector;