Skip to content

jhickner/fay-three

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Very early stages of Three.js bindings for Fay. WIP, experimental, etc.

{-# LANGUAGE NoImplicitPrelude #-}

module Tests where

import Language.Fay.FFI
import Language.Fay.Prelude
import Language.Fay.Three
import Language.Fay.JQuery

main :: Fay ()
main = ready $ do
  cam <- mkPerspectiveCamera 75 1.333 1 10000
  scene <- mkScene
  r <- mkCanvasRenderer
  geo <- mkCubeGeometry 200 200 200
  mat <- mkMeshBasicMaterial 0xff0000 False
  mesh <- mkMesh geo mat
  setZ cam 1000
  addObject3D scene mesh
  setRendererSize r 640 480
  addRenderer r
  animate r scene cam mesh

animate :: Renderer -> Object3D -> Object3D -> Object3D -> Fay ()
animate r scene cam mesh = f
  where 
    f = do
      requestAnimationFrame f
      incRotationX mesh 0.01
      incRotationY mesh 0.02
      render r scene cam

addRenderer :: Renderer -> Fay ()
addRenderer = ffi "document.body.appendChild(%1.domElement)"

log :: Foreign a => a -> Fay ()
log = ffi "console.log(%1)"

logS :: String -> Fay ()
logS = ffi "console.log(%1)"

About

three.js bindings for Fay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published