comp.lang.ada
 help / color / mirror / Atom feed
From: BrianG <briang000@gmail.com>
Subject: Re: OpenGL in Ada
Date: Sat, 10 Jul 2010 00:00:49 -0400
Date: 2010-07-10T00:00:49-04:00	[thread overview]
Message-ID: <i18r3m$k8e$1@news.eternal-september.org> (raw)
In-Reply-To: <a3c3a21e-136c-427e-8bea-d532ffd86c55@r27g2000yqb.googlegroups.com>

Shark8 wrote:
> On Jul 9, 9:11 am, Gene <gene.ress...@gmail.com> wrote:
>> On Jul 7, 10:42 pm, Shark8 <onewingedsh...@gmail.com> wrote:
>>> Hello everyone,
>>> I posted about wanting to write an OS in Ada a while ago and, as part
>>> of that effort I've taken to translating the OpenGL API. No, I don't
>>> mean JUST running the headers through ato-Ada converter but actually
>>> translating the API into a more Ada-natural form.
>>> As an example, here is the glColor-'family' of functions:
...
>>> which was rewritten as:
>>>  -- Color Formats
>>>  Procedure Color    ( red, green, blue : in Byte );
>>>  Procedure Color    ( v : RGB_Byte_Vector );
>>>  Procedure Color    ( red, green, blue : in double );
>>>  Procedure Color    ( v : RGB_Double_Vector );
>>>  Procedure Color    ( red, green, blue : in float );
>>>  Procedure Color    ( V : RGB_Float_Vector );
>>>  Procedure Color    ( red, green, blue : int );

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) is to have a second name which is defined 
for int and float only (or whatever the default is), but I've come up 
with no good format for the second name:  Color_Literal, Color_L, 
Color1, ...?

(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.)



  parent reply	other threads:[~2010-07-10  4:00 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 [this message]
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
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