Brad Fuller a écrit :
Bert Freudenberg wrote:
The bad thing is that all of this requires hacking C code (twice, for OpenGL and Direct3D), inventing new plugin interfaces etc. This is *so* much nicer in Croquet where you do everything from Smalltalk, and for OpenGL only ... But once the low-level work is done it should be relatively simple to use.
Why not dump Direct3D support? That'll make it more attractive to update now and in the future and less platform specific.
If i reverse your argument, what about having both - OpenGL rendering via FFI (the croquet way) - Direct3D rendering via FFI
Then, you put the logic in the VI instead of the VM (or plugin).
Still, you try to have a common behaviour (public interface/method dictionary).
But you don't have to limit the plugin to the intersection of capabilities. You rather program the union (emulate parts which are not native in underlying library, which is much easier in plain smalltalk).
This would have advantages for rapid prototyping/development. There is a great discussion taking place in vwnc list just about things like this (Graphics) and another on comp.lang.Smalltalk (about Sport/File & Socket IO via FFI).
Nicolas