December 2005

New features:

28.12.2005 User-created textures (V0.91d)
You can create textures from within luxinia and modify their pixels, as well as upload them to video memory. This is useful for small dynamic textures, or render-to-texture targets.
27.12.2005 l3dview is born (V0.91d)
l3dviews allow you to render the same l3dset from different cameras with different fog settings. You can also modify the viewport size and render the view to a 2d texture or individual cubemap sides. This is especially useful for creating reflections.
21.12.2005 Resource lookup (V0.91c)
Resources are now searched first in the same path as their parent resource, then the default path and so on.
19.12.2005 Threading leads to WX... (V0.91c)
I tried to implement multithreading in Luxinia. Well, it was not really a success since I realized that I have to rewrite a couple of things I was not aware that it was not threadsafe. Funny was that this lead to the solution about running wxlua from luxinia: First, WX is using Lua 5.0.2 while the current release just used 5.0. Second, our luacore didn't implement the locking mechanisms described here. Third, I didn't realize that initializing a concurring thread requires coroutines. After this, WX seems to run, although quite unstable.
18.12.2005 Sound (V0.91c)
Published functions that actually can create soundnodes and control their gain and pitch. However, the new OpenAL? Version must be implemented someday
18.12.2005 Physics (V0.91c)
Anisotropic surfaces supported now. This means that an object can have different frictions, depending on the direction of the force.
6.12.2005 Particle (V0.91)
deleteall function added, to be able to remove all active particles within a system or cloud.
4.12.2005 Physics (V0.91)
Geoms have now a disabledspace property that is used if this geom belongs to a body that is disabled. This way the collision detection goes faster if you put disabled geoms in a space that makes no inter-collision checks.

3.12.2005 Physics (V0.91)
Normaly, any enabled body in ODE that hits a disabled body will automaticly enable that body too. That can now be limited to a needed activation force. Also, the depth of activation (multiple activations in a row of objects) can be limited, which improves the overall perfomance since it reduces the number of active objects

Lua API changes

28.12.2005 window resolution (V0.91d)
window resolution can now be set with a string to allow user defined window sizes, e.g. 800x600x32.
27.12.2005 l3dview fog (V0.91d)
if fog is disabled in the l3dview you dont have to manually change rfFog anymore, but it will be ignored.
25.12.2005 l3dset defaults (V0.91d)
you dont need to pass l3dlayerid manually to each and every l3dnode, but you can register default l3dsets and default layers. This way its easier to create l3dnodes with them all being put into the same set.
21.12.2005 resources (V0.91c)
default search paths for resources can be set manually now
15.12.2005 matrix4x4: addons (V0.91a)
more functions to set scale and individual column vectors
15.12.2005 l2dtext: size (V0.91a)
text doesnt need to be l2dscaled but can now be sized
10.12.2005 Physics: Contact data readout (V0.91a)
Contact joints can tell now their position and contactnormal
10.12.2005 destroy replaced by delete (V0.91a)
I used the ODE naming scheme when I implemented the collision system but the naming of the destructor functions are incompatible to our naming. I replaced this function. I also wrote a compatibily script that wraps the delete function in a destroy function for the ode objects, but since it is deprecated, it shouldn't be used anymore
10.12.2005 new hashid class (V0.91a)
The scripting interface missed a function that can compare and identify objects using numbers (hashes). Objects can now be identified with numbers which is usefull if a lookuptable needs to be build in lua. That was done till now by using an undocumented function within the luacore itself. The hashid is much cleaner to use.


17.12.2005 (V0.91b)
  • Material object interface was broken
12.12.2005 (V0.91a)
  • loadlib function was disabed
  • useVBO is now auto enabled only on pixelshader2.0 hardware and can finally be disabled either in config.env or lua.
7.12.2005 (V0.91)
  • particles sometimes were not draw in a single frame if another system was deactivated.
  • particle sort not working properly
  • bone single frame set sometimes was not set.
6.12.2005 (V0.91)
  • improved c4d → f3d file export. Exporting huge meshes took extremely long. The modificated version is now *much* faster
  • l3dnode.deleteall did not remove particlesys and particleclouds properly.
  • particles were wrongly sorted on blend.
  • fixed collision functions that returned wrong objects in some functions
5.12.2005 (V0.91)
  • shader compiler reflections of the physicsample should be visible on all hardware now.
  • viewer animation playback, animation was played only once. A quick fix is you enter vnode:seqLoop(0,true) in the console.
3.12.2005 (V0.91)
  • collision, overflow when too many dgeoms were intersecting


6.12.2005 (V0.91)
  • ODE: The ode demo didn't work properly in the 0.9 Release, this has been fixed and the mouse can drag and drop objects now
  • Project Xmas: Finally! Highscores!