Skip to content

Instantly share code, notes, and snippets.

View gregkepler's full-sized avatar

Greg Kepler gregkepler

View GitHub Profile
@gregkepler
gregkepler / ffmpeg-background-color.bat
Created March 19, 2019 21:08
ffmpeg transparent png background color
ffmpeg -f lavfi -i color=c=black:s=1280x720 -i "C:\path\to\image.png" -shortest -filter_complex "[0:v][1:v]overlay=shortest=1,format=yuv420p[out]" -map "[out]" "C:path\to\output\out.mp4"
@gregkepler
gregkepler / lines.frag
Last active February 24, 2020 04:37
Starter fragment shader for basic repeatable lines
// ShaderToy Inputs
uniform vec3 iResolution; // viewport resolution (in pixels)
uniform float iGlobalTime; // shader playback time (in seconds)
const float PI=3.14159265358979323846;
float round( float x ) {
float val = mod( x, x );
if( val >= 0.5 ){
return ceil( x );
@gregkepler
gregkepler / ffmpeg-trim.bat
Last active March 7, 2019 23:31
ffmpeg trim
// -ss: start time
// -t: duration
ffmpeg -i in.mp4 -ss 00:00:50 -t 00:00:20 -async 1 out.mp4
// cropping https://www.bogotobogo.com/FFMpeg/ffmpeg_cropdetect_ffplay.php
ffmpeg -i in.mp4 -vf crop=1920:800:0:140 -ss 00:00:50 -t 00:00:30 -async 1 -crf out.mp4
@gregkepler
gregkepler / EXR2PNG.bat
Created March 2, 2019 16:18
ImageMagick convert folder EXRs to PNGs in linear colorspace
::Turn of displaying the code on the screen
@echo off
echo Converting...
for %%f in (%1/*.exr) do (
rem echo %%~nf
rem echo %%f
magick convert "%1/%%f" -verbose -format png -depth 16 -channel RGBA -type truecolormatte -colorspace RGB -define png:bit-depth=16 "%2/%%~nf.png"
)
[diff]
tool = meld
[difftool]
prompt = false
[difftool "meld"]
cmd = \"C:\\Program Files (x86)\\Meld\\Meld.exe\" "$LOCAL" "$REMOTE"
[merge]
tool = meld
[mergetool "meld"]
@gregkepler
gregkepler / SurfaceChannelRotate.cpp
Created March 12, 2018 02:13
Rotate Channels or Surfaces in Cinder
void SurfaceChannelRotateApp::rotateChannel( const ci::Channel &channel, ci::Channel &destChannel )
{
const int32_t height = channel.getHeight();
const int32_t width = channel.getWidth();
// 90 deg
/*
for( int32_t y = 0; y < height; ++y ) {
auto ogPtr = channel.getData( ivec2( 0, y ) );
auto newPtr = destChannel.getData( ivec2( height - y - 1, 0 ) );
@gregkepler
gregkepler / .gitconfig
Created November 1, 2017 17:21
Meld diff and merge tool for git on Windows
# ------------------ M E R G E -------------------------
[merge]
tool = meld
[mergetool "meld"]
cmd = \"C:\\Program Files (x86)\\Meld\\Meld.exe\" --auto-merge \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\" --label \"MERGE (REMOTE BASE MY)\"
trustExitCode = false
[mergetool]
# don't ask if we want to skip merge
@gregkepler
gregkepler / VectorIteration.cpp
Last active December 2, 2016 16:39
Iterate through C++ vector updating active objects and erasing ones marked for removal.
void update()
{
// iterate through all objects in the vector
for( auto iter = mObjectVector.begin() ; iter != mObjectVector.end(); /*DO NOT INCREMENT HERE*/ )
{
if( (*iter)->isMarkedForRemoval() ){
// Remove if obsolete and iter will be the following object in vector
iter = mObjectVector.erase( iter );
} else {
// Update if still active
@gregkepler
gregkepler / LuminanceMapping-frag.glsl
Created January 8, 2016 17:41
Map image luminance value between 2 colors
// glsl fragment shader sample
// can be seen at https://www.shadertoy.com/view/MscGD2
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec3 color1 = vec3(90.0/255.0, 170.0/255.0, 251.0/255.0); // light color blue
vec3 color2 = vec3(5.0/255.0, 57.0/255.0, 109.0/255.0); // dark color blue
//vec3 color1 = vec3(247.0/255.0, 238.0/255.0, 87.0/255.0); // light color yellow
@gregkepler
gregkepler / photos.json
Last active December 25, 2015 07:48
Saves all photos and videos in a json file of instagram photos.
// json file should be formatted something like
{
"data": {
"photos": [
{
...
"images": {
"low_resolution": {
"url": "http://distilleryimage3.s3.amazonaws.com/###_6.jpg",
"width": 306,