UNPKG

@awayjs/stage

Version:
118 lines (94 loc) 3.58 kB
import { Sampler } from '../../aglsl/assembler/Sampler'; export class SamplerMap { private static _map: Object[]; public static get map(): Object[] { if (!SamplerMap._map) { SamplerMap._map = new Array<Object>(); SamplerMap._map['rgba'] = new Sampler(8, 0xf, 0); SamplerMap._map['rg'] = new Sampler(8, 0xf, 5); SamplerMap._map['r'] = new Sampler(8, 0xf, 4); SamplerMap._map['compressed'] = new Sampler(8, 0xf, 1); SamplerMap._map['compressed_alpha'] = new Sampler(8, 0xf, 2); SamplerMap._map['dxt1'] = new Sampler(8, 0xf, 1); SamplerMap._map['dxt5'] = new Sampler(8, 0xf, 2); // dimension SamplerMap._map['2d'] = new Sampler(12, 0xf, 0); SamplerMap._map['cube'] = new Sampler(12, 0xf, 1); SamplerMap._map['3d'] = new Sampler(12, 0xf, 2); // special SamplerMap._map['centroid'] = new Sampler(16, 1, 1); SamplerMap._map['ignoresampler'] = new Sampler(16, 4, 4); // repeat SamplerMap._map['clamp'] = new Sampler(20, 0xf, 0); SamplerMap._map['repeat'] = new Sampler(20, 0xf, 1); SamplerMap._map['wrap'] = new Sampler(20, 0xf, 1); // mip SamplerMap._map['nomip'] = new Sampler(24, 0xf, 0); SamplerMap._map['mipnone'] = new Sampler(24, 0xf, 0); SamplerMap._map['mipnearest'] = new Sampler(24, 0xf, 1); SamplerMap._map['miplinear'] = new Sampler(24, 0xf, 2); // filter SamplerMap._map['nearest'] = new Sampler(28, 0xf, 0); SamplerMap._map['linear'] = new Sampler(28, 0xf, 1); } return SamplerMap._map; } /* public static map = [ new Sampler( 8, 0xf, 0 ), new Sampler( 8, 0xf, 5 ), new Sampler( 8, 0xf, 4 ), new Sampler( 8, 0xf, 1 ), new Sampler( 8, 0xf, 2 ), new Sampler( 8, 0xf, 1 ), new Sampler( 8, 0xf, 2 ), // dimension new Sampler( 12, 0xf, 0 ), new Sampler( 12, 0xf, 1 ), new Sampler( 12, 0xf, 2 ), // special new Sampler( 16, 1, 1 ), new Sampler( 16, 4, 4 ), // repeat new Sampler( 20, 0xf, 0 ), new Sampler( 20, 0xf, 1 ), new Sampler( 20, 0xf, 1 ), // mip new Sampler( 24, 0xf, 0 ), new Sampler( 24, 0xf, 0 ), new Sampler( 24, 0xf, 1 ), new Sampler( 24, 0xf, 2 ), // filter new Sampler( 28, 0xf, 0 ), new Sampler( 28, 0xf, 1 ) ] */ /* public static rgba: Sampler = new Sampler( 8, 0xf, 0 ); public static rg: Sampler = new Sampler( 8, 0xf, 5 ); public static r: Sampler = new Sampler( 8, 0xf, 4 ); public static compressed: Sampler = new Sampler( 8, 0xf, 1 ); public static compressed_alpha: Sampler = new Sampler( 8, 0xf, 2 ); public static dxt1: Sampler = new Sampler( 8, 0xf, 1 ); public static dxt5: Sampler = new Sampler( 8, 0xf, 2 ); // dimension public static sampler2d: Sampler = new Sampler( 12, 0xf, 0 ); public static cube: Sampler = new Sampler( 12, 0xf, 1 ); public static sampler3d: Sampler = new Sampler( 12, 0xf, 2 ); // special public static centroid: Sampler = new Sampler( 16, 1, 1 ); public static ignoresampler: Sampler = new Sampler( 16, 4, 4 ); // repeat public static clamp: Sampler = new Sampler( 20, 0xf, 0 ); public static repeat: Sampler = new Sampler( 20, 0xf, 1 ); public static wrap: Sampler = new Sampler( 20, 0xf, 1 ); // mip public static nomip: Sampler = new Sampler( 24, 0xf, 0 ); public static mipnone: Sampler = new Sampler( 24, 0xf, 0 ); public static mipnearest: Sampler = new Sampler( 24, 0xf, 1 ); public static miplinear: Sampler = new Sampler( 24, 0xf, 2 ); // filter public static nearest: Sampler = new Sampler( 28, 0xf, 0 ); public static linear: Sampler = new Sampler( 28, 0xf, 1 ); */ constructor() { } }