Writer, Choreographer, Game Developer

Coral, an Actionscript library for 3D Math

Bugs in Vector3D and Matrix3D

Posted on

This last post about Coral is about bugs. I adapted the unit tests from Coral to test Flash's native Vector3D and Matrix3D classes. In so doing, I discovered a number of bugs in the native classes. Continue reading →


Performance of Coral vs Vector3D and Matrix3D

Posted on

TCoral is covered by a set of performance tests for measuring and optimizing it's performance. These tests are run using Grant Skinner's performance test suite. I adapted these tests to also apply to the native 3D geometry classes, for comparison. This article is about the results of those tests. Continue reading →


Architecture of Coral vs Vector3D and Matrix3D

Posted on

In this post I look at the key architectural differences between Coral and the native Vector3D and Matrix3D classes. Code architecture is an important area to me. I find well architected code is much easier to use, leading to more rapid development and fewer bugs. So good architecture in core classes like Vector3D and Matrix3D can make a lot of difference to developers. Continue reading →


Introducing Coral, an Actionscript library for 3D Math

Posted on

I started work on Flint Particles before Flash 10 was launched, so back then I created my own 3D mathematics classes for Flint. Recently I set about converting Flint to use the new native 3D classes that are in Flash 10. After making this change I was surprised to find two significant issues with the new code. The first was a couple of bugs in the native classes, which were not too serious since I could find a way to work around them. The second, and far more troubling issue, was a very large drop in performance - the code using the native 3D classes ran at about one quarter of the rate of the code using Flint's own 3D classes. Continue reading →