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.
- F# Rendering Toolkit (Real-Time) - includes Math3D
- 3D Math in F#
- F# GLFW 3.2.1 Binding
- RayTracer F# Implementation
- F# Ray Caster Implementation
- Shader translation from F# to HLSL
- Duality Scripting - write F# on the Duality Game Engine. This plugin supports C# too.
- 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.
- FShade - a Library allowing users to write Shaders in F# using code-quotations.
- F# Doom
- F# Quake 3
- A collection of heightmap generators, along with some bmp/ppm image format savers
- Fun 3D: Composing 3D objects with F# - beginner-friendly environment for composing 3D objects in functional way.
- Vulkan in F# samples
- F# gamedev samples and slides
- WebGL F# Fable bindings and example with WebGL
- FSSceneKit City - creating a randomly generated city using the SceneKit API (Xamarin) and F#.
- ARKit in F#, with realistically proportioned Solar System Objects
- WIP: App with facts on the planets in the Solar System. Uses Urho3D and Fabulous (F#)
- Three.js, WebGL and F# - a 3D Terrain sample. Live version here
- F# game tutorial series with Monogame
- Unity3D game engine tutorial in F# - an easy way to get started
- Tutorial: Using F# with Unity3D 2018.3
- Programming UrhoSharp with F#
- Will Smith - Porting Quake III to F#: A Journey to Functional Programming
- The 3D Geometry of Louvre Abu Dhabi in F#. Alternative link
- F# in Social Gaming
- F# Exchange 2018 - 3D Model Manipulation with F# - need to log in to watch.
- Functional Game Logic With State Pipelines
- Teaching F# - from Numerical Expressions to 3D Graphics
3D Graphics Programming
- Why Write Shaders in F#?
- 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#
VR / AR / MR
Graphics / Gamedev on the Web (Powered by Fable)
- Creating Visual Planetary Systems using Fable and F#
- Three.js + F# + Fable = ❤
- F#, Fable & ThreeJs: Hello Cube
- Friendly F# - Not totally about games but all examples are game-related.
- Beginning F# by Robert Pickering - Examples in Chapter 12 are relevant to (3D) Graphics Programming.
Commercial Games Made with F#
- 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#.
- 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#