Skip to content

an attempt to create a concise modern Haskell OpenGL boilerplate with basic IO

Notifications You must be signed in to change notification settings

madjestic/Haskell-OpenGL-Tutorial

Repository files navigation

Build Status

Haskell-OpenGL-Tutorial

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

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:




An OpenGL template:

windows and input: GLFW  
shader uniforms  : -




windows and input: GLFW  
shader uniforms  : +




windows and input: SDL2  
shader uniforms  : +




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

Output:




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

Output:



















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

About

an attempt to create a concise modern Haskell OpenGL boilerplate with basic IO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages