Home

Awesome

Build Status

Haskell-OpenGL-Tutorial

an attempt to create a concise modern Haskell OpenGL boilerplate with basic IO among other things...

MandelbrotYampa

A simple OpenGL application, using FRP.Yampa to handle animation and user events, SDL2 for managing windows and input, stack as a build system.

windows and input: SDL2  
shader uniforms  : +  
frp              : Yampa

Output:

Animated Output:

<br> <br> <br>

A GLFW Boilerplate

An OpenGL template:

windows and input: GLFW  
shader uniforms  : -

<br> <br> <br>

A GLFW Boilerplate with Mandelbrot shader

windows and input: GLFW  
shader uniforms  : +

<br> <br> <br>

A SDL2 Boilerplate with Mandelbrot shader

windows and input: SDL2  
shader uniforms  : +

<br> <br> <br>

HelloWindow

A Hello Window OpenGL application with stack as a build system.

Output:

<br> <br> <br>

Transformations

A simple OpenGL application, drawing a polygon with texture blending, transformed by GLMatrix, using element buffer, with stack as a build system.

Output:

<br> <br> <br>

Basic Hellow Window

<br> <br> <br>

A Hello Window, with basic input callbacks.

<br> <br> <br>

Drawing 2 triangles

<br> <br> <br>

Drawing 2 textured triangles

<br> <br> <br>

A colored triangle

<br> <br> <br>

Sugarizing the interface with polymorphic functions.

module Main where

import NGL.Shape
import NGL.Rendering

main :: IO ()
main = do
     let drawables = [toDrawable Red     $ Square (-0.5, -0.5) 1.0,
                      toDrawable Green   $ Circle (0.5, 0.5) 0.5 100,
                      toDrawable Blue    $ Rect (-1.0,0.33) (0.0,0.66),
                      toDrawable White   $ Polyline [ (0.0,-0.66)
                                                     ,(0.33,-0.33)
                                                     ,(0.66,-0.66)
                                                     ,(1.0,-0.33)] 
                                                       0.01 
                     ]

     window <- createWindow "NGL is Not GLoss" (512,512)
     drawIn Default window drawables
     closeWindow window