[squeak-dev] Re: Opengl and Squeak

Igor Stasenko siguctua at gmail.com
Sun Aug 19 12:22:52 UTC 2012


On 18 August 2012 22:41, dimitris chloupis <thekilon at yahoo.co.uk> wrote:
> Well my limited understand of nativeboost is that it does what it does in
> Assembly level, so if something goes wrong with it , that would mean that I
> would have to dive inside assembly. Its FFI is true it bypasses assembly but
> I am not so sure how much that applies when things go wrong. Please correct
> me if I am wrong.

And what would you do if something go wrong with FFI plugin?
Unless there's a bug in NB, you don't need to dive into assembly to
interface with C library.
We're talking about two implementations of same thing - FFI, one using
C and compiled as a plugin,
and another is implemented in smalltalk and generates code
dynamically. But you don't have to look into
depths in order to use any of them.
Yes, NB allows you to hack things, but that doesn't means that you
will need to do that regularly.

>
> Also last time I checked NBOpenGL was not available for all platforms. That
> was at least 6 months ago. I dont have a problem using pharo with some
> squeak libraries. The project I am making will be most likely a bridge
> between pharo and squeak. Since both projects have some very useful
> libraries .  I have also created a thread about this in pharo mailing list
> some time ago, I want to reimplement morphic in opengl and do my own
> explorations too. I think I will give another go to NBOpenGL and see how it
> will go.
>
It is up to you, of course.
Just to note, that at our lab, we have a guy who implemented a
codecity visualisation
 using NBOpenGL.

> ________________________________
> From: Igor Stasenko [via Smalltalk]
> <ml-node+s1294792n4644549h92 at n4.nabble.com>
> To: kilon <thekilon at yahoo.co.uk>
> Sent: Saturday, 18 August 2012, 20:31
> Subject: Re: Opengl and Squeak
>
> On 17 August 2012 08:51, dimitris chloupis <[hidden email]> wrote:
>> Well if FFI works okish in squeak I dont have a need for nativeboost,
>> since
>> I prefer to code in smalltalk than assembly.
>>
> You don't have to learn assembly to use OpenGL with Nativeboost.
> Also, replying to previous post, it supports all 3 major platforms -
> mac, unix and windows.
>
> As for making NB working on Squeak, except from VM there's only one
> significant change
> made in Pharo but not in Squeak (afaik) is to improve the debugger
> support for custom primitives.
>
>> I decided to continue my project 'Ephestos' is squeak, since Blender
>> python
>> has been a complete failure, the opengl implementation is buggy , still
>> stuck to version 1.1 and it consumes CPU cycles like crazy (simple hand
>> morph system  consume 50% of my dual core) so fingers crossed it will
>> works
>> with squeak. I dont care for fancy features like nativevboost if its
>> buggy,
>> non cross platform and slow.
>>
>> Seems I am not getting replies from other than you lawson , I assume
>> something is wrong with my squeak-dev subscription.
>>
>> Anyway, will test FFI from CroquetGL and hopefully it will work for me
>> too.Thanks for the help.
>> ________________________________
>> From: Lawson English <[hidden email]>
>> To: [hidden email]
>> Sent: Thursday, 16 August 2012, 23:07
>>
>> Subject: Re: [squeak-dev] Opengl and Squeak
>>
>> thanks Hans-Martin. I'll update my videos with that bit of info too.
>>
>> I have been playing quite a bit with NativeBoost lately and it offers some
>> very nice features that anyone wanting to make a game or other
>> realtime-ish
>> application will find beneficial, including the ability to create a
>> "cascade" of foreign file calls within a single method, or even program a
>> bit of custom x86 assembler. I don't know what will be involved to port it
>> to Squeak, but Igor's talk suggests that the only "special" bit is already
>> present in the VM, which should work with either Pharo or Squeak. The rest
>> is just glue code at the Smalltalk level, which means that it is perfectly
>> doable to get it working on Squeak, in theory at least.
>>
>> Native boost also offers a way of passing an arbitrary  ByteArray to an
>> external function as though it were a normal pointer to a bit of malloc-ed
>> memory, which can be VERY useful with certain libraries, that and the
>> ability to actually malloc memory for a ByteArray from the OS level heap,
>> opens up all sorts of possibilities like having an external lib render
>> directly into a BitMap object asynchronously from its own OS level thread
>> so
>> that each update can show the library's progress in a morph without any
>> further coding.
>>
>> I'm actually working on a simple MandelBrot Set generator lib in C to demo
>> this.
>>
>> L.
>>
>>
>>
>> On 8/16/12 12:38 PM, Hans-Martin Mosner wrote:
>>> The Squeak OpenGL bindings are on squeaksource.com. Here is an older mail
>>> exchange describing the installation procedure:
>>> http://forum.world.st/OpenGL-in-4-1-or-later-td3794639.html I have just
>>> tried it in a 4.3 image, and after fixing three small glitches it worked:
>>> -
>>> somehow the method OGLUnix>>#openGLLibraryName has an illegal character
>>> at
>>> the end (it's probably being handled as whitespace in other Squeak/Pharo
>>> images) - the method Point>>#area does not exist. I implemented it as
>>> returning x*y, which works. - the method printShowingMaxDecimalPlaces:
>>> does
>>> not exist. I used printString instead. That should get you started.
>>> Cheers,
>>> Hans-Martin
>>
>>
>> -- Squeak from the very start (introduction to Squeak and Pharo Smalltalk
>> for the (almost) complete and compleate beginner).
>> https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all
>>
>>
>>
>>
>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.
>
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.world.st/Opengl-and-Squeak-tp4644265p4644549.html
> To unsubscribe from Opengl and Squeak, click here.
> NAML
>
>
>
>
>



-- 
Best regards,
Igor Stasenko.


More information about the Squeak-dev mailing list