2009年7月13日星期一

Pysoy's new animation

After 50 days of hard work, I have put my workable dual quaternion skinning example written in c++ and glsl for Pysoy to http://hg.pysoy.org/pysoy-soc, although there seems no news from other Pysoyers yet, I am very satisfactory of my work for these reasons:
1. It is the first time I write glsl code.
2. It is the first time some openSource his whole dual quaternion skinning example, previous ones either only give Maya and some other tool's plugins, or give part code for dual quaternion calculation only.
3. This is cross-platform, windows and linux now.
4. I have more skilled animation experience.
5. If my evaluation is positive, I will be a successful contributor to PySoy (http://www.pysoy.org/).

2009年5月7日星期四

First article, aheh, yes, it's a technical one again

What is a better way to contribute to an open source project as effective and efficient as you can?
I have been working with pysoy for three days, all things are new for me, so it is natural to think about finding a better way to handle its characteristics and to extend it.

As my role in PySoy is basically a google summer code student, so I should always keep in mind my original proposal subject, that is to add character animation into PySoy.
Be in traditional suitation, I would find the fastest method to add as much structures and functions of character animation as I can. But it is really impossible to do so in current status
of PySoy. There are two reasons: first, programming-in-the-large the framework for module addition of PySoy is currently not mature; second, I don't know much of the languages PySoy says, programming-in-the-small.

All members of PySoy are now actively working for PySoy's beta 3 release, then the first reason may probably be alleviated. Even though the situation isn't perfect, I will feel not
wasting time to find a module addition framework rather than now struggling with semi-completed framework. At this moment, let focus on the second issue.

PySoy uses three programming languages C++\C, Vala, Python now. Python is the essential advantage of PySoy. PySoy is a 3D game engine for Python. Python is a script language and now scripts for 3D game engine. Admittedly, python is only a high level script language, all graphics, physics and windows functions are implemented in C\C++, indeed they
are Gobjects. Then we inevitably need glue language, that is first pyrex, now vala(see "so long, Pyrex!"http://planet.pysoy.org/)

Now the major work of mine is to find the way to implement character animation using Gobject and convert the functions into vala, assuming vala will do all the work of providing
python a interface. Be clear about all these, we can consider more design and implement work. The design work means we should take into account the engine framework proactively more or less before really deal with Gobject engine core construction, they must be extensible, flexible, modular and loose-coupling. The implementation one is how to write character animation code in Gobjects. To say some, character is hierarchical ODE object, and there may be OpenGL shaders.
Besides, deep understanding of vala's design objectives, among Gobject, python and PySoy's are very helpful to contribute to PySoy.
Recent schedule and objectives:
The timeline is rough totally combined May 8 - June 20.

1、Write an example articular character animation using Gobjects as other PySoy examples did.
2、Using vala to translate all the code above into Python extension lib.
3、Embed the lib output above into PySoy and the test python example will be checked.

2009年5月4日星期一

人并不是在有时间时才培养耐心;正确的观念应该是:由于人学会了有耐心,所以才拥有比足够还要多的时间。