Skip to content

Instantly share code, notes, and snippets.

View tankorsmash's full-sized avatar

TankorSmash tankorsmash

View GitHub Profile
@xoppa
xoppa / outline.fragment.glsl
Created October 12, 2015 20:42
very basic outline shader
#ifdef GL_ES
#define LOWP lowp
precision mediump float;
#else
#define LOWP
#endif
const float offset = 1.0 / 128.0;
varying vec2 v_texCoords;
uniform sampler2D u_texture;
@ThePhiMa
ThePhiMa / Blend Add Particle.shader
Created August 18, 2016 12:45
Blend Add Shader (as used in Diablo 3)
// Blend Add Shader (as used in Diablo 3)
// Uses the alpha channel to determine if the pixel needs to be blended additively or by transparency.
// Is a good way prevent the additive buildup that makes a scene with a lot of particle effects white and unreadable while still having some particle texture features.
// Idea by Julian Love - http://www.gdcvault.com/play/1017660/Technical-Artist-Bootcamp-The-VFX
Shader "Custom/Blend Add Particle Test"
{
Properties
{
_MainTex("Base (RGB) Trans (A)", 2D) = "white" {}
_BlendThreshold("Blend Treshold (0.0:Additive, 1.0:Trasparency)", Range(0.0, 1.0)) = 0.5
@solodon4
solodon4 / cocos_pop_transition.hpp
Created September 26, 2018 07:32
Cocos2d-x transition class adapter that allows one to pop scene with a transition non-intrusively
#include <type_traits>
#include <cocos2d.h>
#pragma once
//------------------------------------------------------------------------------
/// Transition adapter that pops current scene with transition passed as an argument.
///
/// Example:
@atacratic
atacratic / ability-tutorial.output.md
Last active July 3, 2024 14:57
Unison abilities - unofficial alternative tutorial

This tutorial explains how Unison handles 'effectful' computations, like storing state or performing I/O, using abilities. It assumes you haven't come across abilities before, and covers everything from the ground up.

This is an unofficial tutorial, written before the one on unisonweb.org/docs. The approach taken here is slow and methodical. Your first stop should be the official tutorial, if you haven't seen it already.

This doc is a Unison transcript - the source is here.

Terminology note: other languages with ability systems typically call them 'effect handlers' or 'algebraic effects', but many of the ideas are the same.

Introducing abilities