[Fieldtrip] Re: [HOpenGL] noticing freeglut vs not

Conal Elliott conal at conal.net
Thu Dec 4 13:28:34 EST 2008


I just updated http://trac.haskell.org/FieldTrip/ticket/8 .

On Thu, Dec 4, 2008 at 10:19 AM, Conal Elliott <conal at conal.net> wrote:

> Thanks very much Claus.  Sound fixable indeed, with an exception handler.
>
> Would someone with convenient access to a non-freeglut system be up for
> trying out Claus's suggestion???
>
>    - Conal
>
>
> On Thu, Dec 4, 2008 at 9:52 AM, Claus Reinke <claus.reinke at talk21.com>wrote:
>
>> Is this still an open issue in FieldTrip? If you look at the online
>> versions of the files Sven mentioned
>>
>>   http://darcs.haskell.org/packages/GLUT/include/HsGLUTExt.h
>>   http://darcs.haskell.org/packages/GLUT/Graphics/UI/GLUT/Extensions.hs
>>
>> you can see how the dynamic lookup of functions that are only available in
>> some extensions is handled. Looking at
>>
>>   http://darcs.haskell.org/packages/GLUT/Graphics/UI/GLUT/Begin.hs
>>
>> it does seem as if constants and StateVars are not directly protected like
>> this, but 'actionOnWindowClose' calls 'glutSetOption', which you can see in
>>   http://darcs.haskell.org/packages/GLUT/Graphics/UI/GLUT/QueryUtils.hs
>>
>> as just such a dynamic lookup. In case this isn't clear: your code can
>> simply catch the exception thrown when that dynamic lookup fails,
>> letting the exception handler pursue an alternative path (since your
>> ticket
>> recommends commenting out that line, the handler could perhaps just do
>> nothing in your case, or issue a warning about missing freeglut?).
>>
>> No change to the GLUT package should be needed, I think.
>> Claus
>>
>>
>>  Thanks for the pointers.
>>>
>>> I'm looking for some way to program my library so that a graceful exit is
>>> made where possible and still runs, though exits less gracefully with
>>> non-free glut.  I'd be happy with either a new API entry for that case or
>>> a
>>> change to the meaning of MainLoopReturns.
>>>
>>>  - Conal
>>>
>>> On Thu, Nov 20, 2008 at 5:33 AM, Sven Panne <sven.panne at aedion.de>
>>> wrote:
>>>
>>>  On Thursday 13 November 2008 03:24:29 Conal Elliott wrote:
>>>> > I'm looking for a way to use MainLoopReturns when freeglut is present
>>>> and
>>>> > not when it isn't.  I could use some help.  I figure that the
>>>> > implementation has some way to generate that error message, and maybe
>>>> we
>>>> > could similarly just do a standard ungraceful exit if freeglut is
>>>> missing.
>>>> >
>>>> > The great thing about MainLoopReturns is that it plays nicely with
>>>> ghci.
>>>> > Closing a window returns to ghci for more fun.
>>>> >
>>>> > Some more info at http://trac.haskell.org/FieldTrip/ticket/8 .
>>>> >
>>>> > Any ideas?
>>>>
>>>> Currently the GLUT binding uses dynamic lookup to get freeglut-only API
>>>> entries (see /GLUT/Graphics/UI/GLUT/Extensions.hs, cbits/HsGLUT.c,
>>>> include/HsGLUTExt.h) and uses throwIfNull to test for non-existent API
>>>> entries. Therefore, e.g. actionOnWindowClose should throw an exception
>>>> when
>>>> "classic" GLUT is used. I am not sure if I understand your request: Do
>>>> you
>>>> want a new API entry for the GLUT binding or a different behavior of the
>>>> current entries?
>>>>
>>>> Cheers,
>>>>   S.
>>>>
>>>>
>>>>
>>>
>>
>>
>> --------------------------------------------------------------------------------
>>
>>
>>  _______________________________________________
>>> HOpenGL mailing list
>>> HOpenGL at haskell.org
>>> http://www.haskell.org/mailman/listinfo/hopengl
>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/fieldtrip/attachments/20081204/77298002/attachment-0001.htm


More information about the FieldTrip mailing list