Skip to content

Instantly share code, notes, and snippets.

@mebiusbox
mebiusbox / plot_tonemap_ue4_gt.py
Created May 11, 2019 03:52
ToneMap UE4+GT Plot
import matplotlib
matplotlib.use('TkAgg')
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import tkinter as tk
import tkinter.messagebox as tkmsg
import numpy as np
# https://github.com/ampas/aces-dev/blob/master/transforms/ctl/README-MATRIX.md
@mebiusbox
mebiusbox / GGXApproxDiffuse.brdf
Created September 8, 2017 14:25
GGX Approximation Diffuse for BRDF Explorer
analytic
# variables go here...
# only floats supported right now.
# [type] [name] [min val] [max val] [default val]
::begin parameters
float albedo 0 1 1
float roughness 0 1 1
::end parameters
@mebiusbox
mebiusbox / GotandaOrenNayar.brdf
Created September 8, 2017 14:24
GGX Oren-Nayar for BRDF Explorer
analytic
# variables go here...
# only floats supported right now.
# [type] [name] [min val] [max val] [default val]
::begin parameters
float roughness 0 1 1
float f0 0 1 0.04
::end parameters
@mebiusbox
mebiusbox / NormalizedOrenNayar.brdf
Created September 8, 2017 14:22
Normalized Oren-Nayar for BRDF explorer.
analytic
# variables go here...
# only floats supported right now.
# [type] [name] [min val] [max val] [default val]
::begin parameters
float roughness 0 1 1
float f0 0 1 0.04
bool fresnel 1
// BRDFs
#define PI 3.14159265359f
#define PI2 6.28318530718f
#define RECIPROCAL_PI 0.31830988618f
#define RECIPROCAL_PI2 0.15915494f
#define LOG2 1.442695f
#define EPSILON 1e-6
#define pow2(x) ((x)*(x))
#define pow3(x) pow2(x)*(x)