why is glCreateVertexArrays absent?

42 views
Skip to first unread message

Hendrik Boom

unread,
Mar 7, 2020, 9:57:04 AM3/7/20
to Racket Users
Is there any technical reason why glCreateVertexArrays is missing from
the Racket OpenGL package?

The documentation at https://docs.racket-lang.org/opengl/index.html
says that "Being automatically-generated means that it is quite complete."

So I would have expected it to be present.

But it is not present either in the implemetation or in the
documentation ( https://docs.racket-lang.org/opengl/glC___.html )

I do have openGL 4.5 on my system, so it's not because the opengl
library is too old (which did happen on an older computer).

Would bringing it up-to-date perhaps interfere with the operation of
other packages?

-- hendrik

Sorawee Porncharoenwase

unread,
Mar 7, 2020, 10:32:19 AM3/7/20
to Racket Users

I know nothing about OpenGL, but the autogeneration seems to read the information from this directory, which was last updated 7 years ago (2013). OpenGL 4.5 was released in 2014.

I’d suggest you to contact the maintainer of the package to update it. Note, though, that the maintainer doesn’t seem to be active in GitHub for almost two years now. In case you can't contact the maintainer, you might need to fork the package to update it.


--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/20200307145657.gq7xgysyvkz5yn7y%40topoi.pooq.com.

Hendrik Boom

unread,
Mar 8, 2020, 8:52:38 AM3/8/20
to Racket Users
On Sat, Mar 07, 2020 at 07:32:01AM -0800, Sorawee Porncharoenwase wrote:
> I know nothing about OpenGL, but the autogeneration
> <https://github.com/stephanh42/RacketGL/blob/master/opengl/readspec.rkt>
> seems to read the information from this directory
> <https://github.com/stephanh42/RacketGL/tree/master/opengl/specfiles>,
> which was last updated 7 years ago (2013). OpenGL 4.5 was released in 2014
> <https://www.khronos.org/opengl/wiki/History_of_OpenGL>.
>
> I’d suggest you to contact the maintainer <https://github.com/stephanh42>
> of the package to update it. Note, though, that the maintainer doesn’t seem
> to be active in GitHub for almost two years now. In case you can't contact
> the maintainer, you might need to fork the package to update it.

I woildn't mind forking it, even just locally, but I haave not been able
to find current versions of the specfiles it uses. The README says they
originated at http://www.opengl.org/registry/ , but I've been unable to
find them there. For all I know Khronos might no longer be using that
form of definition. Everything serious there appears to be a
human-readable pdf now. Or a C .h file.

So far it looks as if I may have to reverse-engineer the specfiles from
the .h files.

Or maybe I'm just not good at searching. Google has found me some even
more obsolete versions. I guess I'll keep looking.

I suppose I could try patching in the particular function specs I need
until I manage to get world from the maintainer.

-- hendrik

>
> On Sat, Mar 7, 2020 at 6:57 AM Hendrik Boom <hen...@topoi.pooq.com> wrote:
>
> > Is there any technical reason why glCreateVertexArrays is missing from
> > the Racket OpenGL package?
> >
> > The documentation at https://docs.racket-lang.org/opengl/index.html
> > says that "Being automatically-generated means that it is quite complete."
> >
> > So I would have expected it to be present.
> >
> > But it is not present either in the implemetation or in the
> > documentation ( https://docs.racket-lang.org/opengl/glC___.html )
> >
> > I do have openGL 4.5 on my system, so it's not because the opengl
> > library is too old (which did happen on an older computer).
> >
> > Would bringing it up-to-date perhaps interfere with the operation of
> > other packages?
> >
> > -- hendrik
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Racket Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to racket-users...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/racket-users/20200307145657.gq7xgysyvkz5yn7y%40topoi.pooq.com
> > .
> >
>
> --
> You received this message because you are subscribed to the Google Groups "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CADcuegsktFyB2iRV0-nV018mFOeO8Fhqe6mbp_4_ksesXX%3DZtQ%40mail.gmail.com.

Hendrik Boom

unread,
Mar 8, 2020, 9:52:05 AM3/8/20
to Racket Users
On Sat, Mar 07, 2020 at 07:32:01AM -0800, Sorawee Porncharoenwase wrote:
> I know nothing about OpenGL, but the autogeneration
> <https://github.com/stephanh42/RacketGL/blob/master/opengl/readspec.rkt>
> seems to read the information from this directory
> <https://github.com/stephanh42/RacketGL/tree/master/opengl/specfiles>,
> which was last updated 7 years ago (2013). OpenGL 4.5 was released in 2014
> <https://www.khronos.org/opengl/wiki/History_of_OpenGL>.
>
> I’d suggest you to contact the maintainer <https://github.com/stephanh42>
> of the package to update it. Note, though, that the maintainer doesn’t seem
> to be active in GitHub for almost two years now. In case you can't contact
> the maintainer, you might need to fork the package to update it.

It turns out there *is* a technical reason why the machine-generated
opengl binding is not up-to-date.

As stated in
https://community.khronos.org/t/new-xml-based-api-registry-released/70176
the specfiles are no longer being produced. Instead, they are providing
the same information coded as XML.

(I've also seen a few very old comments indicating that the old
specfiles has serious bogs in them; indeed, setphanh42 had to patch
those official specfiles before they were usable.)

It looks as if these XML files are used to produce the official C
header files, so there is a chance they're correct. And there appears
to be a python script to produce those headers, so there's hope.

So the entire program converting specfiles to Racket code will have to
be rewritten.

Or perhaps I just need a compatibility shim to translate the xml into
specfile format... xml is at least a fairly well-supported notation.

Or maybe their python code can be repurposed.
Will look into it.

-- hendrik
>
> On Sat, Mar 7, 2020 at 6:57 AM Hendrik Boom <hen...@topoi.pooq.com> wrote:
>
> > Is there any technical reason why glCreateVertexArrays is missing from
> > the Racket OpenGL package?
> >
> > The documentation at https://docs.racket-lang.org/opengl/index.html
> > says that "Being automatically-generated means that it is quite complete."
> >
> > So I would have expected it to be present.
> >
> > But it is not present either in the implemetation or in the
> > documentation ( https://docs.racket-lang.org/opengl/glC___.html )
> >
> > I do have openGL 4.5 on my system, so it's not because the opengl
> > library is too old (which did happen on an older computer).
> >
> > Would bringing it up-to-date perhaps interfere with the operation of
> > other packages?
> >
> > -- hendrik
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Racket Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to racket-users...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/racket-users/20200307145657.gq7xgysyvkz5yn7y%40topoi.pooq.com
> > .
> >
>
> --
> You received this message because you are subscribed to the Google Groups "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CADcuegsktFyB2iRV0-nV018mFOeO8Fhqe6mbp_4_ksesXX%3DZtQ%40mail.gmail.com.

Sorawee Porncharoenwase

unread,
Mar 8, 2020, 5:28:12 PM3/8/20
to Racket Users

Hendrik Boom

unread,
Mar 8, 2020, 5:55:42 PM3/8/20
to Racket Users
On Sun, Mar 08, 2020 at 02:27:56PM -0700, Sorawee Porncharoenwase wrote:
> Have you tried this? https://github.com/dbenoit17/dynamic-ffi

It looks useful. Thank you.

But I suspect using one of the existing XML readers and either compiling
them into specfile format or using code from the existing specfile
reader to produce the right Racket code will likely be more reliable.

I can test it on an older XML files that are close to the specfile in
the Racket openGL module and looking for discrepancies.

The XML stuff is *very* similar to the existing specfile format. Just a
different surface syntax.

-- hendrik
> > https://groups.google.com/d/msgid/racket-users/20200308125229.gn37sgshwijpuaqq%40topoi.pooq.com
> > .
> >
>
> --
> You received this message because you are subscribed to the Google Groups "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CADcuegtcB6wuk%3DcaBZn%2BMHSAYNmT8EUrNQO3HRg3uFeKyFUekw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages