comp.lang.ada
 help / color / mirror / Atom feed
From: Felix Krause <usenet@flyx.org>
Subject: Re: ANN: OpenGLAda 0.3 and OpenCLAda 0.1 released
Date: Wed, 20 Nov 2013 21:13:18 +0100
Date: 2013-11-20T21:13:18+01:00	[thread overview]
Message-ID: <528d17de$0$6637$2c885b36@post.eweka.nl> (raw)
In-Reply-To: 4cfd60cf-52c1-4358-ae37-fbbfad70d3ea@googlegroups.com

On 2013-11-20 16:49:03 +0000, Marius Amado-Alves said:

> Congrats for this good effort.
> I took a look at this "thick" binding, in hopes...
> It's still the state machine paradigm of OpenGL, with the matrix 
> stacks, global state, etc. Assembler language.

The matrix stack has already been deprecated with OpenGL 3. One should 
use uniform shader variables instead.
But yes, on the whole it's still state-based OpenGL.

> I wonder: could we not "rectify" this with a (truly) thick binding 
> (without incurring significant performance penalty)?

I tried it when I wrote the first version of the texture handling 
wrapper: I tried to implement it in a way
that one can change properties of textures directly without binding 
them to a target. The problem is, such
a radical change of API semantics would need to be reflected in all 
areas, and the resulting API would be
completely incompatible with the original one of OpenGL. This is why I 
finally decided against it. Such an
API would need to be well documented and it's a hurdle for programmers 
who know OpenGL in C or other
languages.

> Matrices as normal objects?
> Maybe compatible with Ada.Real_Arrays?

Generic_Real_Arrays may be suitable. The only things needed for this to 
be an acceptable OpenGL data source
are some representation pragmas, which could be applied by deriving the 
Real_Array and Real_Matrix types
(copying the data around should rather be avoided for performance 
reasons). I'll have a look at it.

-- 
Felix Krause
http://flyx.org/



  reply	other threads:[~2013-11-20 20:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-14 21:37 ANN: OpenGLAda 0.3 and OpenCLAda 0.1 released Felix Krause
2013-11-20 16:49 ` Marius Amado-Alves
2013-11-20 20:13   ` Felix Krause [this message]
2013-11-21  0:53   ` Shark8
2013-11-22 14:06 ` Marius Amado-Alves
2013-11-22 16:59   ` Felix Krause
2013-11-25 15:28     ` Marius Amado-Alves
2013-11-27 10:40       ` Marius Amado-Alves
2013-11-29 18:51         ` Felix Krause
2013-12-02 13:56           ` Marius Amado-Alves
2013-12-26 18:03             ` Marius Amado-Alves
2013-12-31 12:45               ` Felix Krause
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox