Mar 5, 2008

Long path handling of JSFL File API

Copy function of JSFL File API can not handle long URI, for example a URI consists 300 characters. I've wrote extended copy function that can handle such long URI. This is first time to write a extension for Flash in C language, but I found that it is not difficult to implement it. The sample extension really helped me to understand how the extension works.

Nov 21, 2007

AS3 3D and physics engines

2D physics engines:
APE
This engine may be the most well-known one. It has been ported to C++ and Java. MIT license.
Box2DAS3Box2DFlashAS3
Crayon Physics Deluxe made the people attracted to this engine. Box2D was written in C++, now ported to AS3 as Box2DFlashAS3. zlib/ligpng licence.
FOAM
It was lately released, but seems worth trying. MIT license.
Fisix
Perhaps you do not know this engine because of its own license. Let's check the demo.
Motor Physics
This one is expected to join the AS3 physics engine list. Some demos are already available. zlib/libpng license.
This seems a little complicated compared with C++. In C++, there are practically two choices of 3D physics engine, PhyX and Havok. Which engine will survive? 3D graphics engine:
Papervision3D
I think that I do not need to explain about this most known 3D engine. MIT License.
Away3D
This engine is Papervision3D based one, but has has better visual quality.
Sandy
I immediately understood this name because I am a Japanese (see why). The API resembles Java3D, e.g. TransfomGroup class.
-------
Corrected the name of Box2DFlashAS3. (Nov. 23)

Oct 29, 2007

a nasty one.

A really really nasty one. I can not understand a compile error of C#, CS1583 that says 'file' is not a valid Win32 resource file. For details, see MSDN Forum. I saw this error when I compiled Apple Wireless Keyboard Helper for Windows at 3:00 am. I was sleepy and did not have energy to read articles on the forum. Then I read only the latest post that says:

Just double click on properties at solution explorer then you will see an option button with a textbox contaning file name delete it ,or copy same file in your home comp at same location.


I tried this way then succeeded to compile the project. I started to test the application against my JIS keyboard, and found that '英数' and 'かな' key have scan code 113 and 114.

Oct 2, 2007

Color detection by AS3

Here is a demo of skin color detection by ActionScript 3.
  • Inspired by this video.
  • Hatsune Miku swings her arm when skin color moves vertically.
  • Push V key to show/hide camera input.
  • Push M key to show/hide detection result.
Detection algorithm is of this paper, section 3.1. Because this algorithm is very simple, it can be implemented by bitmap filter. Performance should be compared between both implementations.

Aug 29, 2007

tracd does not accept folded http header

I found that tracd does not work in some cases, specifically when the http header is folded because of its longness. To solve this problem, I modified /usr/lib/python2.4/site-packages/trac/web/wsgi.py as following.
  1. Make unfold_header function.
    def unfold_header(self):
        lineno = 1
        while lineno < len(self.headers.headers):
            header = self.headers.headers[lineno]
            if header.startswith(' ') or header.startswith('\t'):
                self.headers.headers[lineno - 1] += header
                del(self.headers.headers[lineno])
            else:
                lineno = lineno + 1
    
  2. Call this function from setup_environ function in WSGIRequestHandler class.
    length = self.headers.getheader('content-length')
    if length:
        environ['CONTENT_LENGTH'] = length
    
    # insert this line here.
    self.unfold_header()
    
    for name, value in [header.split(':', 1) for header
                        in self.headers.headers]:
    
This was my first time to program in Python, so there might be some problems. But this modified tracd is working for now.

Aug 22, 2007

mqo loader beta ?

I have eventually submitted my metasequoia loader to Snippets of Spark project. Only few tests about my library have done, so any bug reports are welcomed.

My next task is perhaps to load MIKOTO file that describes motion of metasequoia model. Watching motion of 3D model will fascinate us rather than watching rendered image that never moves.

Aug 5, 2007

mqo loader private alpha

Here is my private alpha version of .mqo file loader for Papervision3D. Mqo files are used by Metasequoia typically in Japan.