2009/7/27 Javier Pimás <[email protected]>:
> Hi, this is my first mail to the list so hello everybody.
>
> I've been trying to make GLMorphic work on pharo and got some useful
> results. I investigated the plugin that was needed to integrate into the VM
> and noticed it was really small, so I thought why make this in C if you can
> implement it directly in smalltalk. Shortly after that I came up with a
> translation of it (through FFI) so that you can use it with the VM as is.
> The code isn't something I'd call good, but it works fine (only windows,
> sorry).
>

Yes, you could implement it purely using FFI, but there's few things,
why i decided to make a plugin instead:
- you can't access the squeak window handle directly, there is no
primitive. Accessing the window handle, as it shown in Win32/FFI
examples , using activeWindow() function, is not what i like to be
depend on.
As well as filling the boring PIXELFORMATDESCRIPTION fields is not
very easy in smalltalk... :)

But anyways, if you did it, it is good, because now, it could work w/o
additional plugin.
An initialization & windowing stuff can be ported onto another
platforms with a bit of pain, but the rest should work as usual
because its OpenGL :)

>
> If you want to try it, you should do
>
> ScriptLoader loadFFI.
>
> and then download the GLMorphic-JEP version of GLMorphic package from
> squeaksource (after GLMorphic-sig? ). I also made some modifications to
> FFI-Examples, so you may also have to dowonload FF-Examples-JEP from
> squeakfoundation.org. I'm new to monticello so it wouldn't be strange if
> nothing got uploaded correctly.
>
> Some things work and most looks messed up, specially fonts... try
>

i suspect that the source of mess is texture handling. Especially with
font glyphs.
I had plans to rewrite the texture/font cache for it, to not use weak
finalization.
Because i suspect that this is a reason why sometimes textures go wild
- because finalization process interrupts UI process in the middle.
And this potentially could damade the OpenGL state mechanism, because
of out-of-order calls.
At time, i implemented it, i was not aware of Squeak's scheduling nuances :)

> World fullDrawOn: GLDisplayScreen testCanvas.
>
> and you'll see.
>
> Let me know what you think.
>
> Bye!
>
> --
> Javier Pimás
> Ciudad de Buenos Aires
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to