Monday, April 30, 2007

Freyja 0.9.5.7


The file server cooperated! Freyja 0.9.5.7 for Windows was uploaded, however it looks like the i386 Ubuntu packages aren't uploaded yet. The Ubuntu packages haven't been tested as yet. If you find bugs or have comments about this release email me, or sumbit a bug to the bug database posted in the fourms. I'm skipping a x86_64 release again. It's already ~0400, so I'm not going to stay up much later. For your enjoyment I took a lame debugging screenshot. ;)

Sunday, April 29, 2007

Ch-Ch-Changes...

Version numbering will change with a new release tonight. A four point version number Major.Minor.Micro.Revision will be used from now on in the project. This is basically to help tell all the prealpha snapshots apart better, and testers/users don't have to remember the build ids. Also it'll be easier to track development and communicate timelines better. I finally got started on FK fixes today, and it'll be a while until we hit 0.9.6 alpha yet. If you have wishlist items not in the TODO file ( blueprint ) then you better be making your case now. I know Lineage II and NAD are very important to you guys. I haven't forgot, but I'm mostly adding features and not reverse engineering formats for this phase. I will fix any bugs you find in said support that already exists. ;)

Freyja 0.9.5.7 binary snapshots should be released tonight assuming the file server plays nice.

Friday, April 27, 2007

Freyja 0.9.5 20070426

New development packages for Linux i386 (Debian/Ubuntu) are up. These include the updated query dialog and mlisp assert systems. These updates make it easy to warn the user about bad mlisp syntax/symbols and group user queries into a single *blocking* dialog.

I was hoping to get to work on animation this week, but stopping to do this first so debugging is now a breeze. Now all the libraries and the mlisp domain language hook into the libfreyja assert system, which can do the neat msgbox asserts via the freyja ui callback passed to libfreyja. Oh it's so freaking nice that you can use it for much more than breakpoint insertion / kill with info on why you hit said assert. Mlisp asserts add context about errors along with filename and line number. This beats the old debugging outside of the modeler by far. This also means you can continue on non-fatal errors/asserts now as well. I also updated some mesh generators, did a few icons, and fixed a crash in the Wavefront OBJ plugin. I'll release a Win32 bin snapshot as soon as I fix my i386 Wine to test it. I should have some x86_64 Linux bins up later as well, but I tend to do them last b/c being the native branch I don't want to leak unfinished or held back code/bins. =)

Update:
Win32 version did in fact upload around 0300 or so this morning, so title updated. I'm holding off on a x86_64 binary snapshot for now. I trust the 64bit users building right from svn anyway. ;)

Also I don't think I announced on the blog there is now bug tracking for the project at:

https://bugs.launchpad.net/freyja3d/

A great way to help the project is by filing bugs. It would be nice if someone copied all the old BUGS file bugs to the new database before I have to do it. ;)

As you can see in the TODO offical packages for Ubuntu are planned for 0.9.6. This will likely mean moving back to an automake build system, but if it looks like the autotools treadmill will be a problem I'll come up with something else instead. You should also note the new i386 packages are LTS based, and the amd64 are now Feisty based. They should work fine on LTS - Feisty, but the package dependencies might be slightly different.

Tuesday, April 17, 2007

Freyja 0.9.5 20070415

The builds are up on the file server finally. Linux x86_64/amd64 debs, Linux i386 debs, and Windows binaries with plugins have made it on the server. I held it back a bit to add the assert message boxes, so I can get some better bug reports. This build is important in that it has support for various libraries/features that were only in the Linux svn builds. I may have Linux x86_64/amd64 and i386 tarballs and up sometime tomorrow along with plugins.

What's left to do in 0.9.5?
Mostly a lot of 'housekeeping' and refactoring to remove some code so old it was from when this project had a software renderer. Some things are quiet 'boring' such as rewriting parts of the stl, and things only developers see. Some are very visible and annoying bugs caused by the much needed rewrites of the underpinnings. Please note I'm still doing most of the development from 0000 - 0400 in the morning, so excuse entries that don't make any sense. ^^

From the TODO:
  • Do another pass on this file to be sure items aren't already completed.
  • Finish OpenGLPrinter, 2d/3d billboard text using libfreetype.
  • Verify math library, enforce automated testing at build.
  • Fix mouse cursor control. eg: reverse bug, rotation not WYSIWYG, etc
  • Basic geometry previews using blend vertices buffer - avoid data mutators.
  • Skeletal animation refactor
    • Fix remaining FK issues
    • Various joint types: hinge, ball&socket, etc
    • IK solver and interface
    • New Timer for animation playback and keyframe timing
    • Bones and bone transforms in same units!
    • Finalize delta vs abs bone / keyframe transforms
    • Rework weight system to support zeroed weights and grouping
    • Merge the two bone rendering systems once debugging is done
    • Fix bone bind, bindtoworld setup in libfreyja
    • Channels support
    • Ordering support
    • Type of transform support
    • Constraints support
  • Texture buffer array per material for: diffuse/normal/gloss/data/dudv/etc
  • Replace MaterialEv Load/Save material with libfreyja format+metadata.
  • Finish breakup of GUI control into modules.
If you want to see the 0.9.6 RoadMap pull down TODO from svn. I'm dumping more of my private branch code into the public svn everyday.

Sunday, April 15, 2007

Freyja 0.9.5 refactor redux


Got Builds?
Win32 builds of the new development branch RC are working again. I updated the all public plugins as well as far as I know. Win32 pthreads support is in svn too. There is a lot of new code in this build, and a lot of old code removed or rewritten. There should be noticeable performance improvements and new features. What's changed? The math lib, event system, several controllers, mstl, and generally small parts of everything. The view layout has also been slightly altered. I said I'd do a release this weekend, so I'm going to post binaries later today -- assuming no more server/power issues. ;)

FK still broken
Please note that FK didn't get fixed as of this writing. The new math library is hooked up, and for the most part finalized. It turns out the entire bone transform code path has to be verified again, since it seems it relied on mixed types before the rewrite.

Metadata
Metadata support is creeping into about every libfreyja class. I'll be using XML for the metadata, which for now means you'll have to *type in the metadata in an editor window. The XML will be stored with the native freyja format, and translated for plugin formats. Later I'll consider having a GUI facade for XML tags with the option to edit directly. Clearly allowing direct editing now allows more advanced and complex use, and it's easier to debug.

Bone metadata editing will be released soon, and I'll likely update the fan favorite NAD plugin to use it. If you have existing NAD files this means you can open the editor and see the XML translation of the skeletal metadata per bone/skeleton/object. Saving would translate it back to corresponding format data.

Monday, April 9, 2007

Fourms are down!

It seems our forums hosted by ChatBear are down. I understand they recently started merging backends of two sites together, so that might be the cause. Thanks to Freyja supporters for emailing the site admin and me about it.

I wasn't planning on doing an update yet, but I guess I might as well now I have this blog post going. I have just finished the first stage of the event system rewrite for the Freyja modeler. I was planning on holding off on this, but to be honest it was crippling other efforts with other systems. I've checked in parts of the newer libs and modeler into svn, and notice I said parts don't check out now. I would stress again now is not the time to check out. The current binaries are from an older development snapshot, so continue to use them. The code in the development branch continues to make progress to a new stable release. I should have FK fixed with the new event system and partial math lib update by the end of this week. If it looks stable it'll get a binary snapshot for Windows and Linux x86_64 / i386. I know it's been a while since FK was fully working in a public snapshot, so I may toss in additional format support as a gift. No, it's not going to be the native maya plugin either. ;)