[MacRuby-devel] OpenGL/GLUT Bridgesupport

John Shea johnmacshea at gmail.com
Fri Jan 22 01:28:04 PST 2010


Jonathan,

I made some games in opengl this time last year (which now seem quite  
naive, as i did not know opengl or cocoa, so they could do with a good  
refactor).

I do not know if they work with the current version of macruby but they  
are on my idisk:

www.johnmacshea.org

navigate thru MacRuby / Game Related / Mine

Two 2D games CarNage8 and IcePhage9 are there.

They do screen setup, texture loading, writing text to opengl scenes (two  
different ways), canned explosions sometimes and particle effects for  
other explosions.

They do not use VAs or VBOs - but I do have some test projects which use  
VAs and VBOs, and a 3D test (which uses an exported c header file (from  
Cheetah 3D) holding vertex arrays).

Let me know if you are interested and I will dig them up and send them to  
you (only tested on MacRuby 0.4 however).

In that game related folder you will also see translations from other  
people's opengl work (also only tested on 0.4)

Cheers,
J


On Fri, 22 Jan 2010 09:32:57 +0100, Jonathan Waddilove  
<jonathan at waddilove.net> wrote:

> John,
>
> Thank you for the response. GLUT won't be my first choice but I'm trying  
> to follow the examples in the SuperBible.
>
> I'm wondering what the plan is to support all the 'standard' frameworks  
> in MacRuby is? Should I be able to process the GLUT.framework with  
> gen_bridge_metadata?
>
> Meanwhile I will look at providing my own wrapper class as you suggest.  
> As you say this provides a flexible way of handling any framework that  
> lacks bridge support.
>
> Many thank, Jonathan
>
> On 21 Jan 2010, at 20:56, John Shea wrote:
>
>> Yes as far as I know bridge support does not support GLUT.
>>
>> So you (obviously) have two other options other than  
>> gen_bridge_metadata (which I gave up on after a few tries) :
>>
>> - don't use GLUT - use the equivalent (set of) non GLUT openGL calls
>> - place the GLUT calls in an ObjC class - and call out to that class  
>> from MacRuby
>>
>> you might find that the second option is quite quick - i found that for  
>> some openGL calls (but not all) that dispatching to my own bridge class  
>> which then called opengl functions was quicker than going through  
>> BridgeSupport.
>>
>> There are other good reasons to have your own bridge class anyway - i  
>> imagine that BridgeSupport is always going to be lagging Cocoa a bit  
>> (eg Core Animation constants), and it might just be easier allocating  
>> OpenGL texture memory in ObjC (well I still use objC for that)
>>
>> HTH,
>> J
>>
>>
>> On Jan 20, 2010, at 8:14 PM, Jonathan Waddilove wrote:
>>
>>> Hi, I'm back to using MacRuby again and I'm confused about Bridge  
>>> Support.
>>>
>>> I have been using the excellent sojaster port of the Cocoa OpenGL  
>>> example to help develop an OpenGL playpen. However, when I started  
>>> using glut calls (glutBitmapCharacter, glutStrokeString, etc) I  
>>> started to get problems.
>>>
>>> It seems that the OpenGL glut.framework (10.6.2) doesn't include  
>>> bridge support. I've tried using gen_bridge_metadata to add bridge  
>>> support but without success.
>>>
>>> Should glut work in MacRuby? How does one add BridgeSupport to the  
>>> Apple shipped frameworks?
>>>
>>> Sorry if I have missed some very obvious step.
>>>
>>> regards and thanks,  Jonathan
>>>
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list