• Stars
    star
    193
  • Rank 200,142 (Top 4 %)
  • Language
    C#
  • License
    MIT License
  • Created over 8 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An experiment in distance field raymarching that interacts with standard mesh-based objects. Made in Unity.

Distance Field Raymarcher for Unity

This is an implementation of Distance Field Raymarching in the Unity game engine. It was created to be used as a reference implementation in future projects. For a comprehensive technical writeup about how Distance Field Raymarching works, see this article on my blog.

Below are a few of the major features of this implementation:

  1. Complete Implementation of Distance Field Raymarching. This repository demonstrates how to construct a fully working implementation of Distance Field Raymarching. Using this repository as a base, you can focus on implementation details instead of the more technical aspects of raymarching. Additionally, I include a number of useful Distance Field primitives (sphere, box, torus, cylinder, etc) and Combine Operations (Union, Intersection, Subtraction) - see DistanceFunc.cginc for details. Below is a gif of the included demo scene:
  2. Interaction with mesh-based Objects. This implementation takes Unity's depth buffer into account, so your raymarched objects can intersect and interact with traditional mesh-based objects.
  3. Heatmap-based Performance Testing. The system has support for heatmap-based performance testing using a color ramp. Below is an example of this output (red = many samples per pixel, blue = fewer samples):
  4. Open Source and License. This implementation is released under the liberal MIT License, so it is easy use it in your projects.

More Repositories

1

Vive-Teleporter

A framework for Unity3D that automatically generates teleporter boundaries and facilitates the teleporter mechanic, similarly to Valve's "The Lab"
C#
398
star
2

Unity-Wiimote

An easy to use interface between Unity3D / C# and a Wii Remote controller.
C#
303
star
3

Unity-Splines

A spline editor tool for Unity, useful for creating complex 3D movements and animation
C#
32
star
4

Translucency-Shader

A deferred translucency (with Subsurface Scattering) shader for Unity3D that integrates with existing Deferred rendering and Standard shading PBR systems. Based on research by EA DICE presented at GDC 2011.
C#
24
star
5

Zelda-Timeshift-Unity

An implementation of The Legend of Zelda's Timeshift Stone effect in Unity.
C
22
star
6

Vive-Virtual-Button-Designer

An interactive toolkit for designing virtual buttons on the touchpad of HTC Vive controllers
C#
18
star
7

Toon-Standard

A physically-based Toon Shader for Unity
C#
17
star
8

Raymarch-Clouds

C#
16
star
9

GLTutorial

OpenGL Tutorial Skeleton
C
14
star
10

Screen-Space-Grass

GLSL
13
star
11

Unity-DS4

An experimental API for connecting a Dualshock 4 Controller to the Unity Game Engine
C#
13
star
12

Procedural-Terrain-Demo

Creation of a fully procedural terrain in Unity
JavaScript
6
star
13

flafla2.github.io

adrian's soapbox
HTML
6
star
14

Wiimote-Headtracking

An experimental implementation of Johnny Lee's Wiimote headtracker in Unity with my API
C#
5
star
15

Space-Fighter-Game

A cool space game made in Unity
C#
4
star
16

Volumetrics-Unity

GLSL
4
star
17

Face-Morph-Editor

A sims-style editor for deformable face meshes using Blend Shapes
C#
2
star
18

98127-lecture-notes

Lecture Notes for 98-127 Game Creation for People who Want to Make Games
TeX
2
star
19

hackBCA2

BLINK^3: A Unity Game made for HackBCA II -https://youtu.be/R1hq0ZHNIfQ?t=10s
C#
2
star
20

HackRU2015

A Wiimote communication project for HackRU Spring 2015
C#
1
star