Skip to content

Instantly share code, notes, and snippets.

View jackmott's full-sized avatar

Jack Mott jackmott

  • Olo
  • Texas,USA
View GitHub Profile
@jackmott
jackmott / SIMDStarterKit.h
Last active January 4, 2024 23:15
A header file to make SIMD intrinsics a bit easier to work with
// 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
jackmott / ShaderManager.cs
Created March 13, 2017 19:21
Hot Swappable Shaders for MonoGame
/*
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
jackmott / RotatedRectangle.cs
Created October 11, 2017 14:06
Rotated rectangle collision detection
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
//Faster linq-style convenience functions https://github.com/jackmott/LinqFaster
using JM.LinqFaster;
namespace DrawAndDrive
{
@jackmott
jackmott / FasterGame.cs
Last active August 21, 2020 18:17
Faster CSharp Game
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Threading;
namespace bettercraft
{
@jackmott
jackmott / simplex.go
Created January 21, 2018 19:47
simplex noise in go
/* This code ported to Go from Stefan Gustavson's C implementation, his comments follow:
* https://github.com/stegu/perlin-noise/blob/master/src/simplexnoise1234.c
* SimplexNoise1234, Simplex noise with true analytic
* derivative in 1D to 4D.
*
* Author: Stefan Gustavson, 2003-2005
* Contact: stefan.gustavson@liu.se
*
*
* This code was GPL licensed until February 2011.
@jackmott
jackmott / main.rs
Last active September 9, 2019 01:57
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
jackmott / sdl2.go
Created January 15, 2018 15:05
Games With Go EP06 OSX fix
package main
// Experiment! draw some crazy stuff!
// Gist it next week and I'll show it off on stream
import (
"fmt"
"github.com/veandco/go-sdl2/sdl"
)
@jackmott
jackmott / duconverter
Created March 7, 2019 22:11
newtonsoft json DU converter
namespace AlphaFront
module JsonCustomConverters =
open Newtonsoft.Json
open Microsoft.FSharp.Reflection
open System
open System.IO
type DuConverter() =
inherit JsonConverter()
@jackmott
jackmott / pqueue.cs
Created February 3, 2019 22:53
priority queue in c#
using System.Collections.Generic;
using System.Linq;
namespace FB
{
public class PQueue<T>
{
private SortedDictionary<float, Stack<T>> sdict;
@jackmott
jackmott / keybase.md
Created January 16, 2019 16:15
keybase

Keybase proof

I hereby claim:

  • I am jackmott on github.
  • I am jackmott (https://keybase.io/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: