realbasic-games
[Top] [All Lists]

Re: New OpenGL plugin

To: REALbasic Games <realbasic-games at lists dot realsoftware dot com>
Subject: Re: New OpenGL plugin
From: Nick Lockwood <nick at charcoaldesign dot co dot uk>
Date: Fri, 9 Dec 2005 01:53:52 +0000
Delivered-to: realbasic-games at lists dot realsoftware dot com
References: <BFBCC837 dot 6F1E%mauitom at maui dot net> <95fd18c5526687dcc7776ef1d2284ee3 at fireyesoftware dot com> <DE680FE7-96FC-4681-9D5D-E6EB5F87573A at chaoticbox dot com> <F3C617B9-78AE-4A50-BF07-2F3E9EB81AF4 at tinrocket dot com> <EEA0B1DD-6435-4A8B-903B-5AF6F37FD778 at charcoaldesign dot co dot uk> <900C3852-2A75-4532-84D8-916EE850DC92 at tinrocket dot com> <369C3086-FBBE-4E33-B914-2EF8CBE155CB at charcoaldesign dot co dot uk> <362B8AA6-8057-45FA-9154-AA2A847917AC at tinrocket dot com>
The only issue I've had using pure RB code to call OpenGL is with calling non-opengl1.1 functions and extensions on Windows due to the need to be able to call functions by pointer - a glaring omission in RB IMHO, especially now that we can generate function pointers using AddressOf. Still, I prefer to restrict my plugin use to just this one requirement, and remain hopeful that one day I can eliminate this also.

True you cannot use GLUT this way, but GLUT doesn't play very nice with RB anyway, seting up its own event loop and performing its own windowing, which RB does perfectly satisfactorily on its own. It used to be the case that RB event loops were an issue, but the new threads in RB2005 seem superb for use with games, knocking the need for timers or single-threaded tight loops on the head as far as I'm concerned. But I digress.

I am sure you are better aware of your project's needs that I am, but speaking for myself I would be loathe to base a commercial product on top of someone else's work, even if it was of high quality and I was reasonably sure of its continued support. Many a debate has raged on these lists about how tiresome it is to be at the mercy of RS's bug fixing schedule,and even stellar products such as the Monkeybread suite are buggy in places - the more different non-open-source third party products you base you product on, the more fragile it becomes.

Given the relative hardship of porting a plugin to XCode, and then maintaining parallel projects in XCode and Codewarrior (and possibly Visual Studio as well, not to mention whatever Linux IDE is required), I have little confidence that any but the most dedicated of plugin authors are going to continue full multi-platform support for their products after the coming transition, (at least until a better development solution presents itself).

As I mentioned before, it's the x86 compatibility issue in particular that has given me pause just recently. While I am reasonably confident that RS will cope with this transition smoothly, I would be very hesitant to plug anything into my projects right now that relies on closed-source prebuilt PPC binaries supplied by another individual.

Nick

On 9 Dec 2005, at 01:01, John Balestrieri wrote:

Better access to certain OpenGL components and extensions. I'm not using it atm, but GLUT is inaccessible from declares, iirc.

Also, to do some optimized stuff for my 3d engine, turning some classes into plugins will allow for better memory performance.

Time. Before I could compete my gl-headers-to-rb-declares project, a complete implementation was dropped in my lap, and it worked on Windows, by Jon Johnson. It was an easy switch to use the plugin, and would be easy to not use the plugin if I had to (but I am pleased with it). By not having to maintain an opengl implementation, I have been able to focus on the top layer functionality of SSS, etc.

John

On Dec 8, 2005, at 6:07 PM, Nick Lockwood wrote:

I was actually referring to Marco's efforts, but I suppose it applies equally to your decision.

Can I enquire why it is that you are making this switch? What benefit do you believe it will yield?

I would have thought that the effort overhead of maintaining at least 2 and possibly 3 or 4 different plugin components (which, at present must be maintained in at least two different IDE environments) would outweigh most potential benefits of plugins, and I certainly can't believe speed is a factor since all the hard work is done by external library functions anyway.

Nick

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>



_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

<Prev in Thread] Current Thread [Next in Thread>