Hiya everybody,
I’m planning to build a cross platform 3D application in Haskell and I’m thinking about using Regal (https://github.com/p3/regal ) as an abstraction layer so I can support OpenGL 2.x, 3.x, 4.x and ES 2.0 with the same code base. Has any of you have tried to use it with HopenGL / OpenGLRaw?
Cheers,
Jelle
On Wed, Jul 2, 2014 at 9:33 AM, Elise Huard <elise(a)jabberwocky.eu> wrote:
> Hi Jason,
> thanks for taking the time to answer.
> So trying to read between the lines:
> - do you have any _working_ examples of texture mapping with OpenGLRaw
> and low-level Haskell I could have a look at? (anything would help at
> this point)
>
I do. I converted some of the old nehe tutorials:
https://github.com/dagit/nehe-tuts
If you look through the history you can find examples that use a very very
old version of OpenGL (instead of OpenGLRaw). The OpenGL style in those
examples is old and no longer the recommended way. The examples use
immediate mode which is now deprecated in favor of shaders.
I think lesson 6 makes a cube and throws some textures on it. The lesson
numbers are meant to match these:
* http://nehe.gamedev.net/tutorial/lessons_01__05/22004/
* http://nehe.gamedev.net/tutorial/lessons_06__10/17010/
> - do you think the unsafeCoerce (which I borrowed from examples) that
> transform CpFloat to GLdouble might be the issue, or is this just a
> general stylistic comment?
>
Not just stylistic. As for correctness, I think the answer varies by
platform. Specifically, I think CFloat is not required to match GLdouble in
size (in fact, doubles should be expected to be twice as big). While both
types should correspond to IEEE 754 floats the bit width is very likely
different and that could easily cause the interpretation of the values to
go wonky. Imagine passing 64bits when only the first 32bits correspond to a
valid number or truncating a 64bit value to 32bits.
Which examples use unsafeCoerce for this? I'm just sort of curious so I can
recommend people not to use them :)
Hi,
I've been trying to get a texture mapped onto a circle.
I've pounded my head against this problem for a good while,
been reading lots of posts about how to do it in C,
reproduced those as much as possible,
but the best I get is a fairly distorted texture
(I'm working with a basic checkerboard as displayed in the Redbook4
examples of GLUT,
just to make sure I've got it right before moving on to actual images).
Code here:
loading texture
https://github.com/elisehuard/game-prototype/blob/master/src/Main.hs#L90
using the texture in a circle (mapping):
https://github.com/elisehuard/game-prototype/blob/master/src/Main.hs#L130
the result is here
https://github.com/elisehuard/game-prototype/blob/master/images/texture.jpg
(as you can see, it is not a checkerboard)
My aim is to make a 2D game to start with, so the perspective is orthogonal,
I don't know if that helps.
This may be due to my being a noob with things OpenGL -
I hope anyone can help me solve this, textures are a pretty important part.
Thank you,