Skip to content

Instantly share code, notes, and snippets.

View Erkaman's full-sized avatar

Eric Arnebäck Erkaman

View GitHub Profile
/*
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
/*
This software is released under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
@Erkaman
Erkaman / taa.frag
Last active April 25, 2023 02:32
rudimentary temporal anti-aliasing solution, that is good as a starting point for more advanced TAA techniques.
/*
The MIT License (MIT)
Copyright (c) 2018 Eric Arnebäck
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
/*
The MIT License (MIT)
Copyright (c) 2017 Eric Arnebäck
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
@Erkaman
Erkaman / CustomTriLerp.shader
Last active November 17, 2020 07:35
Texture minification using Custom Trilinear Interpolation. From my tweet: https://twitter.com/erkaman2/status/1090645031227191296
Shader "Custom/CustomTriLerp"
{
Properties
{
[NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
}
SubShader
{
Pass
{
// MIT licensed.
function fabsf (arg) {
return arg >= 0 ? arg : -arg
}
function planeBoxOverlap (normal, vert, maxbox) {
var q
var vmin = []
var vmax = []
var v
#include <stdio.h>
#include <vector>
#include <queue>
#include <iostream>
#include <thread>
#include <chrono>
#include <functional>
#include <atomic>
struct Node {
@Erkaman
Erkaman / nan-payload.cpp
Last active August 5, 2019 08:22
shows how to save a payload into a NaN value.
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <inttypes.h>
int main()
{
{
float f = sqrtf(-1); // this results in f being set to nan.
/*
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
@Erkaman
Erkaman / three_vids.sh
Created June 8, 2018 07:26
example script, that uses ffmpeg to make a video that shows three videos side by side
# Example video made by this script: https://twitter.com/erkaman2/status/990873258416361472
ffmpeg \
-y \
-i vid1.mp4 \
-i vid2.mp4 \
-i vid3.mp4 \
-filter_complex '[0:v]pad=iw*3:ih[int];[int][1:v]overlay=W*0.33:0[temp];[temp][2:v]overlay=W*0.66:0[vid]' \
-map [vid] \
-c:v libx264 \