Skip to content

Instantly share code, notes, and snippets.

(ns nodehello)
(defn -main [& args]
(println (apply str (map [\ "world" "hello"] [2 0 1]))))
(set! *main-cli-fn* -main)
package project.demo.away3d{
import away3d.filters.Filter3DBase;
import away3d.arcane;
import away3d.cameras.Camera3D;
import away3d.core.managers.Stage3DProxy;
import away3d.debug.Debug;
import com.adobe.utils.AGALMiniAssembler;
import flash.display3D.Context3D;
@jalava
jalava / gist:1116459
Created July 31, 2011 05:53
Nightvision filter for Away3d
package project.demo.away3d
{
import flash.display.Bitmap;
import project.demo.assets.Assets;
import flash.display3D.Context3DTextureFormat;
import away3d.core.managers.Texture3DProxy;
import away3d.containers.View3D;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.utils.ByteArray;
FC0 = 0,0,0,0
FC1 = 1,1,1,1
FC2 = 0.7,0.7,0.7,0.7
"mov ft2, fc0\n"+
"add ft2.xy, ft2.xy, v0.xy\n"+
"dp3 ft2.x, ft2.xyz, ft2.xyz\n"+
"sqt ft2.x, ft2.x \n"+
"mul ft2.x, ft2.x, fc2.x \n"+
"sub ft2.x, fc1.x, ft2.x \n"+
package away3d.materials.passes
{
import flash.utils.getTimer;
import flash.display3D.Context3DCompareMode;
import flash.display3D.Context3DBlendFactor;
import flash.display3D.Context3DTriangleFace;
import flash.geom.Matrix3D;
import away3d.entities.particles.ParticleSubMesh;
import away3d.entities.particles.ParticleSubGeometry;
import flash.display3D.Context3DVertexBufferFormat;
package project.utils
{
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
import flash.display.BlendMode;
private var _vertCode:String =
// move by speed´
// calculate time delta vt0 = age = time-spawnTime;
"sub vt0, vc"+time+".xxxx,va3.xxxx\n"+
// life left -> vt1 = lifeLeft = life-age;
"sub vt1, va3.yyyy, vt0.xxxx\n"+
// 1-(lifeleft/life)
"div vt1, vt1, va3\n"+
"sub vt1, vc"+ONE+", vt1\n"+
override arcane function getFragmentCode() : String
{
return "mov ft0, v1\n"+
"tex ft1, ft0, fs1 <2d,linear,nomip>\n"+
"div ft1.xyz, ft1.xyz, ft1.w\n" + // TADAAAAA : divide by the alpha channel
"sub ft1.w, ft1.w, fc0.w \n"+
"kil ft1 \n"+
"add ft1.w, ft1.w, fc0.w \n"+
// "mul ft1, ft1, v0 \n"+
"mov oc, ft1\n";