Skip to content

Instantly share code, notes, and snippets.

@rorydriscoll
rorydriscoll / gist:be1375a63999a272524a
Last active Aug 30, 2021
2D Perlin noise with derivatives
View gist:be1375a63999a272524a
static const int permutations[256] =
{
249, 69, 172, 0, 116, 3, 219, 221,
224, 5, 6, 145, 128, 131, 97, 108,
133, 14, 165, 45, 166, 127, 114, 111,
119, 20, 34, 4, 103, 67, 48, 158,
85, 143, 181, 238, 217, 173, 78, 139,
179, 77, 191, 89, 251, 150, 183, 8,
168, 225, 23, 65, 55, 247, 136, 104,
117, 193, 174, 106, 122, 199, 243, 211,
View Test.ma
//Maya ASCII 2022 scene
//Name: Test.ma
//Last modified: Wed, Jun 23, 2021 09:24:13 AM
//Codeset: 1252
requires maya "2022";
requires "stereoCamera" "10.0";
currentUnit -l centimeter -a degree -t film;
fileInfo "application" "maya";
fileInfo "product" "Maya 2022";
fileInfo "version" "2022";
@rorydriscoll
rorydriscoll / FullScreenQuad.hlsl
Created Dec 19, 2011
A vertex shader that uses the vertex ID to generate a full-screen quad. Don't bind vertex buffer, index buffer or input layout. Just render three vertices!
View FullScreenQuad.hlsl
struct Output
{
float4 position_cs : SV_POSITION;
float2 texcoord : TEXCOORD;
};
Output main(uint id: SV_VertexID)
{
Output output;
@rorydriscoll
rorydriscoll / lua.sublime-build
Created Feb 17, 2012
Sublime Text build system for Lua
View lua.sublime-build
{
"cmd": ["lua", "$file"],
"file_regex": "^lua: (...*?):([0-9]*):?([0-9]*)",
"selector": "source.lua"
}
@rorydriscoll
rorydriscoll / Generator.cpp
Last active Dec 14, 2016
Wave Function Collapse propagation
View Generator.cpp
struct Block
{
__forceinline void Clear()
{
vector[0] = vector[1] = _mm_setzero_si128();
}
__forceinline void Fill()
{
vector[0] = vector[1] = _mm_set_epi64x(0xffffffffffffffff, 0xffffffffffffffff);
View Shader.glsl
// bind gloss {label:"Gloss", default:0.5, max:1, step:0.01}
// bind cdiff {label:"Diffuse Colour", r:0.6, g:0.0, b:0.0}
// bind cspec {label:"Specular Colour", r:0.3, g:0.3, b:0.3}
// bind lightstrength {label:"Light Strength", default:3, max:100, step:0.1}
// bind envtop {label:"Environment Top", r:0.0, g:0.2, b:0.4}
// bind envmiddle {label:"Environment Middle", r:0.2, g:0.2, b:0.2}
// bind envbottom {label:"Environment Bottom", r:0.01, g:0.1, b:0.01}
// bind refractiveindex {label:"Refracive Index", default:1.5, max:3, step:0.1}
// bind normalmap {label:"Normal Map", default:false}
// bind diffuse {label:"Diffuse", default:true}
@rorydriscoll
rorydriscoll / VS.sublime-build
Created Jul 10, 2012
Sublime Text Visual Studio
View VS.sublime-build
{
"cmd": ["C:\\Program Files (x86)\\Microsoft Visual Studio 8\\Common7\\IDE\\devenv.com", "C:\\Users\\rdriscoll\\Desktop\\Foo\\Foo.sln", "/Build"]
}
View StringHash.cpp
template<unsigned int N, unsigned int I>
struct FnvHash
{
__forceinline static uint32 Hash(const char (&text)[N])
{
return (FnvHash<N, I - 1>::Hash(text) ^ text[I - 1]) * 16777619u;
}
};
template<unsigned int N>
@rorydriscoll
rorydriscoll / Lua.JSON-tmLanguage
Created Feb 24, 2012
Lua Grammar for Sublime Text 2. All you need is Lua.tmLanguage (i.e. You don't need the JSON file). Copy Lua.tmLanguage over your existing version and restart Sublime Text.
View Lua.JSON-tmLanguage
{
"name": "Lua",
"scopeName": "source.lua",
"fileTypes": [
"lua"
],
"repository": {
"general": {
"patterns": [
{
@rorydriscoll
rorydriscoll / ParseLua.py
Created Feb 17, 2012
Sublime Text 2 plugin to parse lua on the fly
View ParseLua.py
import sublime
import sublime_plugin
import re
from subprocess import Popen, PIPE
class ExampleCommand(sublime_plugin.EventListener):
TIMEOUT_MS = 200
def __init__(self):