From: BrianG <briang000@gmail.com>
Subject: Re: OpenGL in Ada
Date: Mon, 12 Jul 2010 20:45:42 -0400
Date: 2010-07-12T20:45:42-04:00 [thread overview]
Message-ID: <i1gcp9$7br$1@news.eternal-september.org> (raw)
In-Reply-To: <d3608f61-d766-4a26-a431-890ba560d9b7@b35g2000yqi.googlegroups.com>
Shark8 wrote:
> On Jul 11, 2:46 pm, a...@att.net wrote:
>> In <i1bktn$uc...@speranza.aioe.org>, tmo...@acm.org writes:
>>>>>>> Procedure Color ( red, green, blue : in double );
>>>>>>> Procedure Color ( red, green, blue : in float );
>>>> One problem you'll have is if a user wants to make a call with all
>>>> literals, i.e. Color(1, 2, 3) or Color(1.0, 2.0, 3.0), the compiler
>>>> won't know which version to use. The best solution I've found (besides
>>>> making users specify a type)
>>> And what's wrong with requiring the user to be unambiguous by specifying
>>> a type? It's unlikely there will be a lot of calls with all literals
>>> (unless generated by some program) so it shouldn't be onerous. And
>>> "Float'(1.0)" is clearer to the person reading the code five years
>> >from now than "Color_F".
>>
>> What your are forgetting is the openGL is a specification from the openGL
>> group ( opengl.org ), it is just like the Ada RM in that respect. For a
>> program or package, to be classified as openGL it must comply with "openGL
>> group" openGL specification. Changing any API part nullify the use of
>> openGL in any part of your system.
I'm sorry, I wasn't aware we had a member of the OpenGL police present.
Where do I go to pay my fine? BTW, it appears the proper name is
OpenGL, not openGL :-). Not that I'm picky.
Maybe you ('Anon') ought to actually read the spec you mentioned. The
following is a direct quote from that document:
"The declarations shown in this document apply to ANSI C. Languages such
as C++ and Ada that allow passing of argument type information admit
simpler declarations and fewer entry points."
(with reference to the GLxxxTypeInterface naming convention.)
[http://www.opengl.org/registry/doc/glspec40.core.20100311.pdf]
>>
>> So, adding or altering any definitions about the given API must comply with
>> the openGL specification. Names of the API functions and procedures with
>> the API defined types are set by this openGL group.
>
> That seems, on its face, to contradict BrianG's claim:
>
>> What you have is a way to do it, but that's not what the OP posted. He had
>> all procedures named Color, so the user doesn't need to worry about
>> implementation. (If I use Color for Double and want to change my program to
>> use Float, I have to change the names of all calls, even if I use calls where
>> the compiler could determine what I want - and not just calls to Color, many
>> routines would have the same issue.) This is also what the OpenGL
>> documentation implies should be done in a language like Ada.
>
> But, if he's correct in this earlier post:
>> (I've tried starting a similar effort, but never got very far. I was using
>> the OpenGL "red book" as a basis; I find it interesting that the OpenGL
>> definition recognizes that "some languages like Ada and C++" could implement
>> names this way, but every Ada library I've seen follows the C naming scheme.)
>
> Then my renaming (to get rid of the gl- prefix and parameter-type-
> postfix) and
> overloading them all is a valid OpenGL API.
>
Not only is it valid, it looks like it's what was expected. I've never
seen an implementation that does that.
>> visitwww.opengl.org
>> for more information on openGL and the "openGL group"
>>
>> Also, you may find the API specifications predefined with examples in C that
>> you can alter to Ada there as well.
>
What I've been using is the online v1.1 "Redbook"
[http://www.glprogramming.com/red/] - since ObjectAda (from Barnes'
book) uses that version (last I looked, GNAT/GTKAda didn't provide
OpenGL on windows).
I've never tried figuring out OpenGL versions - right now the "current
edition of the Redbook" is version 2.1, but the same page points to
a "Specification Version 4.0". Whatever.
next prev parent reply other threads:[~2010-07-13 0:45 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-08 2:42 OpenGL in Ada Shark8
2010-07-08 14:15 ` John B. Matthews
2010-07-09 2:18 ` anon
2010-07-12 16:51 ` Warren
2010-07-13 12:26 ` Ludovic Brenta
2010-07-13 13:13 ` Warren
2010-07-09 11:43 ` Gautier write-only
2010-07-09 15:11 ` Gene
2010-07-09 17:38 ` Shark8
2010-07-09 20:54 ` Gene
2010-07-12 17:04 ` Warren
2010-07-10 4:00 ` BrianG
2010-07-10 11:47 ` Gautier write-only
2010-07-11 2:45 ` BrianG
2010-07-11 4:10 ` Gautier write-only
2010-07-11 5:30 ` tmoran
2010-07-11 20:46 ` anon
2010-07-12 14:17 ` Shark8
2010-07-13 0:45 ` BrianG [this message]
2010-07-13 17:50 ` anon
2010-07-13 18:37 ` Shark8
2015-01-15 7:11 ` OpenGL in Ada #2 JillRivas
2015-01-30 14:45 ` OpenGL in Ada Lucretia
2015-01-30 18:41 ` David Botton
-- strict thread matches above, loose matches on Subject: below --
2010-10-05 21:23 Yves Bailly
2010-10-06 3:45 ` anon
2010-10-06 5:10 ` Yves Bailly
2010-10-06 9:51 ` Alex R. Mosteo
2010-10-06 10:38 ` Yves Bailly
2010-10-06 10:59 ` Ludovic Brenta
2010-10-06 16:07 ` Pascal Obry
2010-10-06 17:32 ` Yves Bailly
2010-10-06 8:38 ` Gautier write-only
2010-10-07 1:52 ` BrianG
2010-10-07 22:06 ` Yves Bailly
2010-10-08 17:11 ` Shark8
2010-10-08 15:02 ` Lucretia
2010-10-08 20:42 ` Yves Bailly
2010-10-10 19:49 ` Vadim Godunko
2009-10-28 17:12 Opengl " Pablo
2009-10-28 18:01 ` Pascal Obry
2009-10-28 19:04 ` John B. Matthews
2009-10-29 6:11 ` Gautier write-only
2000-04-27 0:00 OpenGl in ADA Anderson
2000-04-27 0:00 ` Pascal Obry
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox