Skip to content

Instantly share code, notes, and snippets.

Avatar

Eric Arnebäck Erkaman

View GitHub Profile
@Erkaman
Erkaman / create_grass_atlas.py
Created Jul 1, 2016
Python script that creates a simple Minecraft grass atlas.
View create_grass_atlas.py
# this python script simply creates a simple grass atlas image.
# the atlas is used in this small minecraft renderer:
# https://github.com/mikolalysenko/regl/pull/21
import png
import os
import noise
# open file
View optimized.js
/*
<p>Metaball rendering demo. Many ideas and code taken from <a href="https://www.clicktorelease.com/code/bumpy-metaballs">here</a></p>
*/
const regl = require('../regl')()
const isosurface = require('isosurface')
const normals = require('angle-normals')
const mat3 = require('gl-mat3')
const camera = require('./util/camera')(regl, {
distance: 1,
@Erkaman
Erkaman / viewmesh.cpp
Created Dec 18, 2016 — forked from alecjacobson/viewmesh.cpp
Command line program to view 3D meshes from files, standard input and pipes
View viewmesh.cpp
#include <igl/guess_extension.h>
#include <igl/read_triangle_mesh.h>
#include <igl/viewer/Viewer.h>
#include <Eigen/Core>
#include <iostream>
#include <string>
#include <cstdio>
#include <unistd.h>
int main(int argc, char * argv[])
View output_mesh_as_svg_wireframe.cpp
/*
GLM
*/
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <sstream>
#include <fstream>
#include <stdio.h>
@Erkaman
Erkaman / cloud_gen.cpp
Last active Dec 28, 2016
program that outputs a single vector cloud
View cloud_gen.cpp
// program that outputs a single vector cloud.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <float.h>
#include <vector>
#include <string>
using std::vector;
View main.cpp
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <vector>
#include <string>
using std::vector;
using std::string;
using std::to_string;
View cone_tracing_vis.js
/*
The MIT License (MIT)
Copyright (c) 2016 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
@Erkaman
Erkaman / gist:84403e52ce194a168e5112b13ca4e85a
Created Jan 29, 2017
Cholesky Decomposition Explanation.
View gist:84403e52ce194a168e5112b13ca4e85a
############################################################
How to solve a matrix equation with Cholesky Decomposition
############################################################
We want to solve the matrix equation Ax=b. So we want x. The Cholesky decomposition of A is just
the matrix product A = L(L^T). Where L is some lower triangular matrix, and L^T is its transpose.
So L^T is upper triangular. See wikipedia an example of such a decomposition:
https://en.wikipedia.org/wiki/Cholesky_decomposition#Example
If we now substitute our decomposition of A into our equation we get
@Erkaman
Erkaman / broken_shader.fs
Created Feb 20, 2017
broken_shader.vs is the broken shader.
View broken_shader.fs
// empty fragment shader.
void main()
{
}
@Erkaman
Erkaman / fragment_shader.glsl
Last active Apr 5, 2017
broken shader. please check the comments at end of fragment shader.
View fragment_shader.glsl
#version 430
#define GLUINT_MAX 4294967295
#define NULL_NODE (GLUINT_MAX - 0)
#define SUBDIVIDE_NODE (GLUINT_MAX - 1)
#define LEAF_NODE (GLUINT_MAX - 2)
// node in the octree.
struct OctNode {