Skip to content

Instantly share code, notes, and snippets.


Jack Mott jackmott

View GitHub Profile
jackmott / ShaderManager.cs
Created Mar 13, 2017
Hot Swappable Shaders for MonoGame
View ShaderManager.cs
HotSwap shader sytem for MonoGame
HotSwap code only exists for debug builds
Edit paths to match your project
Construct in your Initialize method
Add shaders in LoadContent (or whenever)
Call CheckForChanges in Update() or periodically however you like
mgcb.exe usually located in C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools
jackmott / RotatedRectangle.cs
Created Oct 11, 2017
Rotated rectangle collision detection
View RotatedRectangle.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
//Faster linq-style convenience functions
using JM.LinqFaster;
namespace DrawAndDrive
jackmott / FasterGame.cs
Last active Aug 21, 2020
Faster CSharp Game
View FasterGame.cs
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Threading;
namespace bettercraft
jackmott / simplex.go
Created Jan 21, 2018
simplex noise in go
View simplex.go
/* This code ported to Go from Stefan Gustavson's C implementation, his comments follow:
* SimplexNoise1234, Simplex noise with true analytic
* derivative in 1D to 4D.
* Author: Stefan Gustavson, 2003-2005
* Contact:
* This code was GPL licensed until February 2011.
jackmott / SIMDStarterKit.h
Last active May 25, 2020
A header file to make SIMD intrinsics a bit easier to work with
View SIMDStarterKit.h
// A header file to get you set going with Intel SIMD instrinsic programming.
// All necessary header files are inlucded for SSE2, SSE41, and AVX2
// Macros make the intrinsics easier to read and generic so you can compile to
// SSE2 or AVX2 with the flip of a #define
#define SSE2 //indicates we want SSE2
#define SSE41 //indicates we want SSE4.1 instructions (floor and blend is available)
#define AVX2 //indicates we want AVX2 instructions (double speed!)
jackmott /
Last active Sep 9, 2019
chunk noise example
use minifb::{Key, Window, WindowOptions};
use simdnoise::NoiseBuilder;
use std::{thread, time};
const WIDTH: usize = 640;
const HEIGHT: usize = 640;
fn main() {
let mut buffer: Vec<u32> = vec![0; WIDTH * HEIGHT];
jackmott / sdl2.go
Created Jan 15, 2018
Games With Go EP06 OSX fix
View sdl2.go
package main
// Experiment! draw some crazy stuff!
// Gist it next week and I'll show it off on stream
import (
jackmott / duconverter
Created Mar 7, 2019
newtonsoft json DU converter
View duconverter
namespace AlphaFront
module JsonCustomConverters =
open Newtonsoft.Json
open Microsoft.FSharp.Reflection
open System
open System.IO
type DuConverter() =
inherit JsonConverter()
jackmott / pqueue.cs
Created Feb 3, 2019
priority queue in c#
View pqueue.cs
using System.Collections.Generic;
using System.Linq;
namespace FB
public class PQueue<T>
private SortedDictionary<float, Stack<T>> sdict;

Keybase proof

I hereby claim:

  • I am jackmott on github.
  • I am jackmott ( on keybase.
  • I have a public key whose fingerprint is DE51 EA3B 8EFA E93E 229C C013 2C5A AAC6 CAD9 92F8

To claim this, I am signing this object: