FergK / callay

Abstract terrain generation using noise functions in Three.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Callay

Callay Screenshot

GitHub

An experiment with ThreeJS to do abstract terrain generation using noise functions.

Goals

Version 000
  • Rendering framework
    • Viewport
    • Rendering loop
    • Cuboidal geometry
Version 001
  • Cameras
    • Perspective camera with free movement
    • Orthographic camera
  • Input
    • Keyboard
    • Mouse
    • Gamepad
  • Now fetches ThreeJS from a CDN
  • Noise-based geometry generation
Version 002
  • Boring Stuff
  • Get rid of versioning in files and use git properly
  • Clean up the main file
  • Basic UI
    • Introduction
    • FPS display
    • Information about controls
    • Browser feature error messages (WebGL, pointer lock, gamepad, etc...)
    • Simple options (half-size rendering)
  • Interaction
    • Rudimentary first person camera
    • Player object with terrain collision detection
    • User alterable geometry and geometry color
  • Smoothed geometry option with appropriate normals for lighting
  • Pseudo-infinite terrain generation using simplex noise
  • Set up on github.io: fergk.github.io/callay
  • Added Logify.js to aid with debugging
  • Added seedrandom for seeded terrain generation
Future
  • Look into using typed arrays and BufferGeometry for performance
TODOs
  • Pointer lock is broken in firefox

About

Abstract terrain generation using noise functions in Three.js


Languages

Language:JavaScript 96.9%Language:HTML 1.7%Language:CSS 1.3%