Skip to content
Resources on 3D Graphics Programming and Game Development in F#
Branch: master
Clone or download
w0lya Update README.md
Phrasing / grammar fixes
Latest commit 171e829 Apr 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Update README.md Apr 17, 2019

README.md

3D Graphics Programming and Game Development in F#

Inspired by Functional Programming In Games repository.

This is a WIP document.

Please suggest papers/articles/resources through Github pull requests. If you believe this list is missing something or has factually inaccurate info, you can also file an issue in the issue tracker.

OSS Projects

  1. F# Rendering Toolkit (Real-Time) - includes Math3D
  2. 3D Math in F#
  3. F# GLFW 3.2.1 Binding
  4. RayTracer F# Implementation
  5. F# Ray Caster Implementation
  6. Shader translation from F# to HLSL
  7. Duality Scripting - write F# on the Duality Game Engine. This plugin supports C# too.
  8. Nu Game Engine cross-platform F# 2D game engine. It encourages to use a variation of FRP called Iterative Functional Reactive Programming as architectural style.
  9. FShade - a Library allowing users to write Shaders in F# using code-quotations.
  10. F# Doom
  11. F# Quake 3
  12. A collection of heightmap generators, along with some bmp/ppm image format savers
  13. Fun 3D: Composing 3D objects with F# - beginner-friendly environment for composing 3D objects in functional way.

OSS Samples

  1. Vulkan in F# samples
  2. F# gamedev samples and slides
  3. WebGL F# Fable bindings and example with WebGL
  4. FSSceneKit City - creating a randomly generated city using the SceneKit API (Xamarin) and F#.
  5. ARKit in F#, with realistically proportioned Solar System Objects
  6. WIP: App with facts on the planets in the Solar System. Uses Urho3D and Fabulous (F#)
  7. Three.js, WebGL and F# - a 3D Terrain sample. Live version here

Tutorials

  1. F# game tutorial series with Monogame
  2. Unity3D game engine tutorial in F# - an easy way to get started
  3. Tutorial: Using F# with Unity3D 2018.3
  4. Programming UrhoSharp with F#

Videos

  1. Will Smith - Porting Quake III to F#: A Journey to Functional Programming
  2. The 3D Geometry of Louvre Abu Dhabi in F#. Alternative link
  3. F# in Social Gaming
  4. F# Exchange 2018 - 3D Model Manipulation with F# - need to log in to watch.
  5. Functional Game Logic With State Pipelines
  6. Teaching F# - from Numerical Expressions to 3D Graphics

Articles

Star Wars Intro in AutoCAD in F# - part 1 out of 4, others linked

3D Graphics Programming

  1. Why Write Shaders in F#?
  2. Composing Chrismas with F# - example of 3D graphics in F# using an OpenGL-based graphic library written in F#. More with this library: Tomas Petricek - Domain Specific Languages, the functional way, Solving fun puzzles with F#

Game Development

VR / AR / MR

  1. Face-based Augmented Reality with F# and the iPhone X
  2. The Solar System with ARKit and F#

On Interop

  1. Accessing Linux C libraries with F# and .Net Core

Graphics / Gamedev on the Web (Powered by Fable)

  1. Creating Visual Planetary Systems using Fable and F#
  2. Three.js + F# + Fable = ❤
  3. F#, Fable & ThreeJs: Hello Cube

Presentations

Books

  1. Friendly F# - Not totally about games but all examples are game-related.
  2. Beginning F# by Robert Pickering - Examples in Chapter 12 are relevant to (3D) Graphics Programming.

Papers

  1. Monadic Scripting in F# for Computer Games

Commercial Games Made with F#

  1. Onikira: Demon Killer is a 2D side scrolling beat ‘em up set in a fantasy feudal Japan. It's on Steam Early Access, written in F#.
  2. Asteroid Sharpshooter published on Xbox Live Indie Games, written in F#. Slides on the development process. His blog has more information on how he made F# work with XNA on Xbox 360.

Consider eventually consolidating with Guide - Mobile App and Game Programming with F#

You can’t perform that action at this time.