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&#39;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&gt; Dou=
ble (for GLclampd, GLdouble)</div><div>=C2=A0 =C2=A0 =C2=A0 * CFloat =3D&gt=
; 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&gt; Int16=
 (for GLshort)</div><div>=C2=A0 =C2=A0 =C2=A0 * CUChar =3D&gt; Word8 (for G=
Lboolean, GLubyte)</div><div>=C2=A0 =C2=A0 =C2=A0 * CUInt =3D&gt; Word32 (f=
or GLbitfield, GLenum, GLhandleARB, GLuint)</div><div>=C2=A0 =C2=A0 =C2=A0 =
* CUShort =3D&gt; 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&#39;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 &lt; 7.8, which I consider OK now that 8.0=
 is coming soon. But to be sure, there is a branch (&quot;classic&quot;) 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==--