June 2006

New features:

27.6.2006 Font bitmap generator
A small java application is in work that allows you to create easily font bitmaps and save them as png together with a lua file that describes the lookuptable, the character positions and the char widths. The tool will be released with the next developer release as Java 1.5 application.
update all (v0.93): sometimes the worldpositions which are computed after the lua think, are needed immediately, scenenode and l3dnodes now offer such functions, so that independent of their visibility all nodes are transformed to worldstate.
Lightmap (v0.93): the l3dmodels can get lightmaps and lightmap texturematrix.
Texture Data Filter (v0.93): texture data can be filtered with gauss and boxcar filter to smooth the textures. Useful for user created textures.
Clear Values (v0.93): l3dviews can get manual clear values for depth and stencil.
Collision Export (v0.93): UtilFunctions? supports a method to load collision data from a special lua file. That file for example can be generated by 3dsmax to export collision objects. That way you can easier export collision models. The import function also supports creating visual representation of the data, useful for debugging. A Cinema4D? collision exporter might come soon as well. The 3dsmax maxscript exporter will be in the next toolkit release.
Shader sunnormalmap (v0.93): A special mode similar to sunreflectmap, allows custom lighting using a cubemap texture. You can also create those special cubemaps using a single 1D Texture, which is interpreted as DotProduct?(Normal,LightDirection?). You can do your own specular dropoffs or custom lighting such as gooch shading.
Particle Mesh Instancing (v0.93): The Particle rendering code was rewritten to make use of more efficient instancing. That way meshes with not too many triangles, can be used to scatter rocks, bushes... You can also offset the regular billboards from their center position.
Shadowvolumes (v0.93): The Shadowvolume models are useful for creating stencil shadows. This is a first draft implementation and needs a bit more refinement for the next release, but it will be in. You can specify a source l3dprimitive/l3dmodel and the light it affects. Combined with a framefx blend you can darken all shadowed areas.
sunmap texgen for specular (v0.93): More of a bugfix actually, but the "sunmap" flag in the shader system now works. This allows specular effects using cubemap to describe the specularity. Sample uses VID_AMODADD_PREV blendmode to use previous textures' alpha as glossmap.
Stencil(v0.93): two-sided stenciling, with a multipass workaround was added, mostly needed for the soon to be fully finished stencilshadow volumes. FrameFX? also have stencil support now.
Linux (?): The required libs are linked and the luxinia core is now running on Linux. However, the lualibs are not yet ready. Another question is how Luxinia can be distributed for Linux. View Linux Screenshot.
Particle Volume Clipping (v0.92b):For effect or performance optimisation you can define clipping volume for particlesys and particlecloud. You can also set which axis to check, and change the bounds anytime (allows animated effects).
Physics (v0.92b): Switched to ODE 0.6. Although this adds no new features, we hope that is increases the stability of the physics simulation and its performance. A new function lets you traverse the currently active bodies which is very useful if you want to update values for active boides only.
6.6.2006 Particle Aged Velocity (V0.92b)
You can change the velocity vector based on the particle's age. This allows some cool effects such as spline following particles. How much they are influenced by the spline is also under your control. Furthermore you can transform the direction vectors based on the rotation of another node.
6.6.2006 Floatarray Vector functions (V0.92b)
Together with the particle effects new "vector3" getters/setters were added to the floatarray, as well as functions to create interpolated spline positions based on another array's control points. As needed the velocity effect, a method to compute directions based on positions was also added.
4.6.2006 Particle Life Texture (V0.92b)
So far one could only use some basic interpolators for size,velocity and rotation, also specifying colors can be a bit tedious. Now you can easier control the interpolated lifesteps with a texture. You can also make the values negative, by subtracting an offset, this way you can change rotation and velocity directions based on age.
3.6.2006 Trail Color,Size Steps (V0.92b)
The individual color and size values can be accessed, that way you do not have to rely on the simple color and size interpolators, but can create more complex shape and color variations.
2.6.2006 Draw Bone Limits (V0.92b)
When setting up IK effects it is practical to see the limits per bone. So there is various possibilities to show informations on bones.
2.6.2006 BoneControl? IK (V0.92b)
IK chain updating can optionally include all affected children. By default this is turned off, so only the parents are updated. If the user wants all children of the affected parents to be computed as well, it can be enabled. The IK root "tip" can now optionally do a lookAt effect on the targe, too.
1.6.2006 BoneControl? (V0.92b)
Bone IK and LookAT? controllers were bugfixed and a few new features introduced. You can specify ik- depth, iterations and threshold per bonecontrol.
1.6.2006 Draw Bone Names (V0.92b)
Sometimes its useful to find out how each bone is named from within the engine. This is possible now.

Lua API changes

16.6.2006 model defaults(V0.93)
less arguments are needed for l3dmodel.new and model.load, as more booleans got default values.
1.6.2006 bone axis (V0.92b)
functions were renamed a bit. also new functions to get bone's parent bone.


30.6.2006 (V0.93)
  • material, texmove and floatmod/controllable did not work
27.6.2006 (V0.93)
  • texture, reloaddata did sometimes not work, as well as luminance textures.
23.6.2006 (V0.93)
  • framefx, many bugfixes with setting position, size...
22.6.2006 (V0.93)
  • Camera clippping, user clipping plane works fine. Be aware that clipping only works when viewer is on negative side of the plane.
21.6.2006 (V0.93)
  • l3dnodes that were linked to a unlinked node, could produce a crash when that parent was linked to a scenenode/actornode.
20.6.2006 (V0.93)
  • List2D? shader, some shaders that need a worldmatrix crashed in l2d drawing
  • 1D Textures did not work properly
15.6.2006 (V0.93)
  • particleclouds, were only drawn in the first active l3dview, then disabled.
14.6.2006 (V0.93)
  • "load" description: in the api docu many load commands were described as taking "path" as string which in fact is the full filename.
6.6.2006 (V0.92b)
  • staticarray, floatarray and intarray were illegally returned as staticarray and not in their own class. Also the operations based on single values (e.g self *= number) did not work.
4.6.2006 (V0.92b)
  • particlecloud, prtSeq was swapped with prtRotangle
2.6.2006 (V0.92b)
  • ALL nodes/matrices, MAJOR BUG fixed returned angle values were sometimes not correct, so get and set did not yield the same results.
1.6.2006 (V0.92b)
  • 3dsmax exporter, normals could be wrong when removescale/prescale was used