Untested (untestable) 0.3

I’ve finally had time to sit down and finish my 0.3 release.  It’s way late and I know I have several people waiting on parts of this release.  Andor has mentioned in several of his posts the reason as to why this release is untested or untestable.  I wish I could’ve had time to get together and work on this more with the group but things always got in the way, especially exams.  Anyway, my commit for 0.3 can be found by clicking here.  The tickets can be found here.

To describe them quickly, they’re the camera, ortho, perspective and frustum functions.  They required some calculations.  What ends up happening is after the calculations, the information gets put in a 3d matrix (which is essentially a 16 slot array).  I also created a primitive 3d matrix stack.  I’ll add more functions as they are required.  If you have any function requests for the stack, please place them in the ticket.

Now, this release will probably need more upgrades.  I can safely say that already because MinyXO created a PMatrix3D object, which makes for easy use of 3D matrices.  I’ll have to modify the functions and variables I’ve created to reflect that addition to Processing.js once it’s added.  So, that will probably be part of my 0.4 release as I’ve indicated on my tickets already.

Hopefully, with more free time over the holidays, I can talk to some of the group and get some testing done for my release.

Obsolete already?!

My most recent addition to Processing.js can already be considered obsolete.  Not even two weeks after the release, my fifteen minutes of fame will be coming to an end.  This is due to someone coming along with a better and cleaner implementation.  This may seem like a disgruntled post but it really is more of praise.  I was looking through the code and learned a few new tricks with using JavaScript that I never knew before.  It’s my way of showing praise to this new community member.  While F1LT3R might be a little busy to add Sephr’s new code at the moment, I already have my tests working under the new code.  Essentially, I was just using it to test the new code to make sure it didn’t break but I just left it there for when F1LT3R does have time to look at it.

Moving On…

Since my time with PVector is over, I’ve moved on to other things.  Last I mentioned, I’m working on the camera() function for the 3d objects in PJS.  While it’s not supposed to be too amazingly difficult, I’ve forgotten much of what I learned in my GAM programming class with COM objects and whatnot… So I’ve been doing some research, mainly in the Java Processing code and came across this.  It’s a Matrix object which is needed for 3d worlds and somewhat lacking in the PJS code.  Further research within the code, I saw that matrices were being used but mostly as 2d arrays.  So, I went into IRC and asked for some consensus as to whether we should implement a matrix object.  Andor was the only one that responded (him being our most 3d webgl expert).  He mentioned that we needed a 3d matrix stack for more general use.  There’s already a stack built within Canvas but I don’t believe it handles anything remotely 3d.  So we need one for our project in order to calculate and properly handle the transformations.  I’ve taken it upon myself to make the 3d matrix stack.  Now depending on how long this will take, I may have to push back some of my other functions (ie ortho, perspective) to the next release date.