Re: Merging the OpenGLRaw and gl packages
Sven Panne <[email protected]> Mon, 4 Jan 2016 17:18:08 +0100
| Newsgroups | gmane.comp.lang.haskell.cafe,gmane.comp.lang.haskell.hopengl |
|---|---|
| Message-ID | <CANBN=msyFBRviiLZOqg1ETgwn53G8gWYasSOPKM2Wafup-nQHA@mail.gmail.com> |
--===============6987278277697795968==
Content-Type: multipart/alternative; boundary=001a113f21666e6d0f0528847720
--001a113f21666e6d0f0528847720
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
FYI: I've released a new OpenGLRaw version 3.0.0.0 which is now quite close
to the gl package. The changes:
* Use pattern synonyms for OpenGL enums.
* Changed module name prefix from Graphics.Rendering.OpenGL.Raw to
Graphics.GL.
* Use slightly different type synonyms for GL type (introducing Fixed on
the way):
* CDouble =3D> Double (for GLclampd, GLdouble)
* CFloat =3D> Float (for GLclampf, GLfloat)
* CInt =3D> Fixed (for GLclampx, GLfixed)
* CInt =3D> Int32 (for GLint, GLsizei)
* CSChar =3D> Int8 (for GLbyte)
* CShort =3D> Int16 (for GLshort)
* CUChar =3D> Word8 (for GLboolean, GLubyte)
* CUInt =3D> Word32 (for GLbitfield, GLenum, GLhandleARB, GLuint)
* CUShort =3D> Word16 (for GLushort)
There are still a few minor differences between OpenGLRaw and gl (see
https://github.com/haskell-opengl/OpenGLRaw/wiki/Merging-OpenGLRaw-and-gl),
but nothing serious: As a test, I modified the luminance package to make it
compatible with the new OpenGLRaw, and the diff is really small (see
https://github.com/phaazon/luminance/pull/39). So I think that the gl
package can be retired, but that's of course totally up to Edward and
Gabr=C3=ADel. A few remarks:
* Using pattern synonyms means losing support for GHC < 7.8, which I
consider OK now that 8.0 is coming soon. But to be sure, there is a branch
("classic") for the previous OpenGLRaw API if the need for minor
changes/bug fixes arises.
* To stay consistent, GLURaw has been changed in a similar way.
* The OpenGL package has been adapted to use the new APIs internally, but
its external API is still the same.
Cheers,
S.
--001a113f21666e6d0f0528847720
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">FYI: I've released a new OpenGLRaw version 3.0.0.0 whi=
ch is now quite close to the gl package. The changes:<div><br></div><div><d=
iv>=C2=A0 * Use pattern synonyms for OpenGL enums.</div><div>=C2=A0 * Chang=
ed module name prefix from Graphics.Rendering.OpenGL.Raw to Graphics.GL.</d=
iv><div>=C2=A0 * Use slightly different type synonyms for GL type (introduc=
ing Fixed on the way):</div><div>=C2=A0 =C2=A0 =C2=A0 * CDouble =3D> Dou=
ble (for GLclampd, GLdouble)</div><div>=C2=A0 =C2=A0 =C2=A0 * CFloat =3D>=
; Float (for GLclampf, GLfloat)</div><div>=C2=A0 =C2=A0 =C2=A0 * CInt =3D&g=
t; Fixed (for GLclampx, GLfixed)</div><div>=C2=A0 =C2=A0 =C2=A0 * CInt =3D&=
gt; Int32 (for GLint, GLsizei)</div><div>=C2=A0 =C2=A0 =C2=A0 * CSChar =3D&=
gt; Int8 (for GLbyte)</div><div>=C2=A0 =C2=A0 =C2=A0 * CShort =3D> Int16=
(for GLshort)</div><div>=C2=A0 =C2=A0 =C2=A0 * CUChar =3D> Word8 (for G=
Lboolean, GLubyte)</div><div>=C2=A0 =C2=A0 =C2=A0 * CUInt =3D> Word32 (f=
or GLbitfield, GLenum, GLhandleARB, GLuint)</div><div>=C2=A0 =C2=A0 =C2=A0 =
* CUShort =3D> Word16 (for GLushort)</div></div><div><br></div><div>Ther=
e are still a few minor differences between OpenGLRaw and gl (see=C2=A0<a h=
ref=3D"https://github.com/haskell-opengl/OpenGLRaw/wiki/Merging-OpenGLRaw-a=
nd-gl">https://github.com/haskell-opengl/OpenGLRaw/wiki/Merging-OpenGLRaw-a=
nd-gl</a>), but nothing serious: As a test, I modified the luminance packag=
e to make it compatible with the new OpenGLRaw, and the diff is really smal=
l (see=C2=A0<a href=3D"https://github.com/phaazon/luminance/pull/39">https:=
//github.com/phaazon/luminance/pull/39</a>). So I think that the gl package=
can be retired, but that's of course totally up to Edward and Gabr=C3=
=ADel. A few remarks:</div><div><br></div><div>=C2=A0 * Using pattern synon=
yms means losing support for GHC < 7.8, which I consider OK now that 8.0=
is coming soon. But to be sure, there is a branch ("classic") fo=
r the previous OpenGLRaw API if the need for minor changes/bug fixes arises=
.</div><div><br></div><div>=C2=A0 * To stay consistent, GLURaw has been cha=
nged in a similar way.</div><div><br></div><div>=C2=A0 * The OpenGL package=
has been adapted to use the new APIs internally, but its external API is s=
till the same.</div><div><br></div><div>Cheers,</div><div>=C2=A0 =C2=A0S.</=
div></div>
--001a113f21666e6d0f0528847720--
--===============6987278277697795968==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
--===============6987278277697795968==--