[Pharo-project] NativeBoost and NBOpenGL on Mac?

Igor Stasenko siguctua at gmail.com
Tue Jan 10 08:08:29 EST 2012

On 10 January 2012 01:27, ncalexan <ncalexander at gmail.com> wrote:
> Lawson English-2 wrote
>> I've had problems installing NativeBoost on Squeak, but it worked
>> reasonably well installing on a Mac. However, TestRunner failed while
>> running the callback tests.
>> This may or may not have anything to do with trying to work with
>> NBOpenGL, which also installs fine on Pharo (but not squeak).
>> Basically: GLViewportMorph new "useOwnForm: true;" openInWorld
>> fails with Error: function unavailable
>> It fails during this: hInst := NativeBoostWin32 getVMModuleHandle.
>> which I assume means that Mac OS X is still not supported?
> I believe there is an NBOpenGL-Mac package, but it doesn't yet create
> windows or integrate with Morphic.
Apparently NativeBoostWin32 should not be used on macs (i actually
wonder how you
got an instance of it while running on mac).

> Lawson English-2 wrote
>> Any workarounds available yet? I should point out that my little kludgey
>> youtube demo of integrating OpenGL and the squeak IDE has generated 10x
>> as many hits per day as the next most popular video in my tutorial
>> series on squeak. I should also point out that when I demo pier and
>> seaside I use Pharo and explicitly point out I'm using Pharo, so the
>> Pharo community might benefit quite a bit from me being able to use
>> NBOpenGL on the Mac...
> I found that the NBOpenGL-Mac package didn't work for me.  There is a
> special calling procedure that tries to store the OpenGL API function
> pointers in the indexed variables of a variableByteObject and then call
> those addresses, but this fails with stack alignment errors for me.  I fixed
> this by using the default NB calling procedure rather than this special
> calling procedure.
> So there is hope.

The problem i had stuck with is the inability to create a windowed
context on Mac.
For that i need to bind to either Carbon or Cocoa libs.. while i
thought that i can just use
basic functions.
I were able to create an OpenGL context using coreGL (or something called Core)
but i didn't managed to figure out what to do next.
There seems to be lacking of windowing support on mac. So i could use
this context as an offscreen context
and it should work, but i'm not tried it yet. One of disappointment is
that when i query the renderer used for given
context, it reports an "Apple software renderer" , which not what i
expected means that it is a software renderer,
and not hardware acccelerated.. (or maybe it should be read as
'apple-software' renderer.. then there is more hope :)

You can check the work if you load the package NBOpenGL-Mac.
Any help or suggestions will be appreciated.

> Nick
> --
> View this message in context: http://forum.world.st/NativeBoost-and-NBOpenGL-on-Mac-tp4278813p4280623.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

Best regards,
Igor Stasenko.

More information about the Pharo-dev mailing list