浏览代码

Rollup: Added plugin for converting gl constants to their values.

Mr.doob 6 年之前
父节点
当前提交
60a728d173
共有 1 个文件被更改,包括 157 次插入0 次删除
  1. 157 0
      rollup.config.js

+ 157 - 0
rollup.config.js

@@ -1,3 +1,159 @@
+function glconstants() {
+
+	var constants = {
+		POINTS: 0, ZERO: 0,
+		LINES: 1, ONE: 1,
+		LINE_LOOP: 2,
+		LINE_STRIP: 3,
+		TRIANGLES: 4,
+		TRIANGLE_STRIP: 5,
+		TRIANGLE_FAN: 6,
+		DEPTH_BUFFER_BIT: 256,
+		LESS: 513,
+		NEVER: 512,
+		EQUAL: 514,
+		LEQUAL: 515,
+		GREATER: 516,
+		NOTEQUAL: 517,
+		GEQUAL: 518,
+		ALWAYS: 519,
+		SRC_COLOR: 768,
+		ONE_MINUS_SRC_COLOR: 769,
+		SRC_ALPHA: 770,
+		ONE_MINUS_SRC_ALPHA: 771,
+		DST_ALPHA: 772,
+		ONE_MINUS_DST_ALPHA: 773,
+		DST_COLOR: 774,
+		ONE_MINUS_DST_COLOR: 775,
+		SRC_ALPHA_SATURATE: 776,
+		STENCIL_BUFFER_BIT: 1024,
+		FRONT: 1028,
+		BACK: 1029,
+		FRONT_AND_BACK: 1032,
+		CW: 2304,
+		CCW: 2305,
+		CULL_FACE: 2884,
+		DEPTH_TEST: 2929,
+		STENCIL_TEST: 2960,
+		BLEND: 3042,
+		SCISSOR_TEST: 3089,
+		UNPACK_ALIGNMENT: 3317,
+		MAX_TEXTURE_SIZE: 3379,
+		TEXTURE_2D: 3553,
+		BYTE: 5120,
+		UNSIGNED_BYTE: 5121,
+		SHORT: 5122,
+		UNSIGNED_INT: 5125,
+		UNSIGNED_SHORT: 5123,
+		INT: 5124,
+		FLOAT: 5126,
+		HALF_FLOAT: 5131,
+		DEPTH_COMPONENT: 6402,
+		RED: 6403,
+		ALPHA: 6406,
+		RGB: 6407,
+		RGBA: 6408,
+		LUMINANCE: 6409,
+		LUMINANCE_ALPHA: 6410,
+		VERSION: 7938,
+		NEAREST: 9728,
+		LINEAR: 9729,
+		NEAREST_MIPMAP_NEAREST: 9984,
+		LINEAR_MIPMAP_NEAREST: 9985,
+		NEAREST_MIPMAP_LINEAR: 9986,
+		LINEAR_MIPMAP_LINEAR: 9987,
+		TEXTURE_MAG_FILTER: 10240,
+		TEXTURE_MIN_FILTER: 10241,
+		TEXTURE_WRAP_S: 10242,
+		TEXTURE_WRAP_T: 10243,
+		REPEAT: 10497,
+		COLOR_BUFFER_BIT: 16384,
+		FUNC_ADD: 32774,
+		MIN: 32775,
+		MAX: 32776,
+		FUNC_SUBTRACT: 32778,
+		FUNC_REVERSE_SUBTRACT: 32779,
+		UNSIGNED_SHORT_4_4_4_4: 32819,
+		UNSIGNED_SHORT_5_5_5_1: 32820,
+		POLYGON_OFFSET_FILL: 32823,
+		RGB8: 32849,
+		RGBA4: 32854,
+		RGBA8: 32856,
+		TEXTURE_3D: 32879,
+		CLAMP_TO_EDGE: 33071,
+		DEPTH_COMPONENT16: 33189,
+		DEPTH_STENCIL_ATTACHMENT: 33306,
+		R8: 33321,
+		R16F: 33325,
+		R32F: 33326,
+		UNSIGNED_SHORT_5_6_5: 33635,
+		MIRRORED_REPEAT: 33648,
+		TEXTURE0: 33984,
+		DEPTH_STENCIL: 34041,
+		UNSIGNED_INT_24_8: 34042,
+		TEXTURE_CUBE_MAP: 34067,
+		TEXTURE_CUBE_MAP_POSITIVE_X: 34069,
+		MAX_CUBE_MAP_TEXTURE_SIZE: 34076,
+		COMPRESSED_TEXTURE_FORMATS: 34467,
+		RGBA32F: 34836,
+		RGB32F: 34837,
+		RGBA16F: 34842,
+		RGB16F: 34843,
+		MAX_VERTEX_ATTRIBS: 34921,
+		MAX_TEXTURE_IMAGE_UNITS: 34930,
+		ARRAY_BUFFER: 34962,
+		ELEMENT_ARRAY_BUFFER: 34963,
+		STATIC_DRAW: 35044,
+		DYNAMIC_DRAW: 35048,
+		VERTEX_SHADER: 35633,
+		FRAGMENT_SHADER: 35632,
+		MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,
+		MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,
+		COMPILE_STATUS: 35713,
+		LINK_STATUS: 35714,
+		VALIDATE_STATUS: 35715,
+		ACTIVE_UNIFORMS: 35718,
+		ACTIVE_ATTRIBUTES: 35721,
+		IMPLEMENTATION_COLOR_READ_TYPE: 35738,
+		IMPLEMENTATION_COLOR_READ_FORMAT: 35739,
+		DEPTH_COMPONENT32F: 36012,
+		COLOR_ATTACHMENT0: 36064,
+		FRAMEBUFFER_COMPLETE: 36053,
+		DEPTH_ATTACHMENT: 36096,
+		FRAMEBUFFER: 36160,
+		RENDERBUFFER: 36161,
+		LOW_FLOAT: 36336,
+		MEDIUM_FLOAT: 36337,
+		HIGH_FLOAT: 36338,
+		MAX_VERTEX_UNIFORM_VECTORS: 36347,
+		MAX_VARYING_VECTORS: 36348,
+		MAX_FRAGMENT_UNIFORM_VECTORS: 36349,
+		UNPACK_FLIP_Y_WEBGL: 37440,
+		UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441
+	};
+
+	return {
+
+		transform( code ) {
+
+			code = code.replace( /_?gl\.([A-Z0-9_]+)/g, function ( match, p1 ) {
+
+				if ( p1 in constants ) return constants[ p1 ];
+				console.log( '* Unhandled GL Constant:', p1 );
+				return match;
+
+			} );
+
+			return {
+				code: code,
+				map: { mappings: '' }
+			}
+		}
+
+	}
+
+}
+
 function glsl() {
 
 	return {
@@ -26,6 +182,7 @@ function glsl() {
 export default {
 	input: 'src/Three.js',
 	plugins: [
+		glconstants(),
 		glsl()
 	],
 	// sourceMap: true,