I've been looking like crazy online as well as on this site and I can't find any instruction on what the order of the float[16] in the matrix represent. I know the site tells me somewhere that each pair is the 1st, 2nd, etc., vertex but what I am looking for is a tutorial or example that tells me what happens as I change certain points.

Basically, by trial and error I have managed to come up with a squishy effect on a plane which is exactly what I was after but I really would like to understand what all the points represent and the effect they have on a plane.

I know that rotate, scale, and translate simplifies much of the most common effects but for certain actions it is better to have access to the texture matrix for additional effects and fine tuning.

For instance, at the moment what I am trying to do is create a swaying effect on a plane. Like a card rotating one direction and then the other on the y-axis. Even though I can do this with rotateY() I am already rotating the same object plane as part of a different effect, so I want to rotate the texture itself as a second independent rotation of the same object. That way I can use either one without resetting the other.

If there is an easier way to rotate the texture itself please let me know. But I would really love to find a tutorial on the float[16] of the matrix if it can be found anywhere.

The float[16] array is just a quick way to get and set dumps from the matrix. There's no real point in fiddling around with it directly. What you seem to be looking for is a kind of explanation what each element of a matrix means, i.e. what each letter means in a matrix like

? The purpose of each element is defined by the way in which the multiplication matrix<->vector is defined. If you want to understand more about matrices, try to learn more about matrix*matrix and matrix*vector multiplications. A matrix is just a unified method for manipulating other matrices and vectors. You actually don't need a matrix for any of these, you could do it all by using "normal" math as well.

Thanks Egon for the speedy reply.Actually, when I mentioned the float[16] in the Matrix class I was asking because I was already using it to manipulate the texture using setTextureMatrix. After your reply I see that I must be using setTextureMatrix incorrectly and that dumping, changing, and setting the float[16] is not the way to go about it. I will try using setTextureMatrix with a matrix that was altered using other methods in the Matrix class. Thanks again.

As mentioned earlier, I am just trying to figure out how to rotate a texture displayed inside a object3D.plane (picture a card rotating) but I do not want to rotate the object3D. Just the texture within the object3D. Can you tell me what I'm missing in the code above? Thanks.

Rotations on texture coordinates work in exactly the same way as rotations on objects do, except that it's in 2D and not 3D. If you want to rotate the texture's uv-coordinates to make the texture rotate, rotate the matrix around Z, not X or Y.

In addition, you might have to apply some translations to shift the rotation pivot into the center. Here's an example for desktop jPCT:

Ah, darn. Well that explains why no amount of tweaking would rotate the Y-axis. LolLuckily only one of my effects needs to rotate on the y-axis so I'll just swap the effects out.Thank you again for the prompt response and for the great site.