Selaa lähdekoodia

[ts] More test refactoring.

badlogic 7 vuotta sitten
vanhempi
commit
470ae4a1f3

+ 0 - 149
spine-ts/webgl/example/test-pma-tintblack.html

@@ -1,149 +0,0 @@
-<html>
-	<script src="../../build/spine-webgl.js"></script>
-	<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
-	<style>
-		* { margin: 0; padding: 0; }
-		body, html { height: 100% }
-		canvas { width: 640px ;height: 640px; }
-	</style>
-	<body>
-	<canvas id="canvas" style="background: #ff00ff;"></canvas>
-	<div>
-		<div><label>Light: </label><input type="text" value="ffffffff" id="light"></div>
-		<div><label>Dark: </label><input type="text" value="000000" id="dark"></div>
-		<div><label>PMA blend:</label><input type="checkbox" id="pmaBlend"></div>
-		<div><label>Ivan's shader:</label><input type="checkbox" id="ivan"></div>
-	</div>
-	</body>
-	<script>
-
-	$("#light").change(function() {
-		setColors();
-	});
-
-	$("#dark").change(function() {
-		setColors();
-	});
-
-	$("#pmaBlend").change(function() {
-		setColors();
-	});
-
-	function setColors() {
-		var light = $("#light").val();
-		var r = parseInt(light.substr(0,2),16) / 255;
-        var g = parseInt(light.substr(2,2),16) / 255;
-		var b = parseInt(light.substr(4,2),16) / 255;
-		var a = parseInt(light.substr(6,2),16) / 255;
-
-		var dark = $("#dark").val();
-		var dr = parseInt(dark.substr(0,2),16) / 255;
-        var dg = parseInt(dark.substr(2,2),16) / 255;
-		var db = parseInt(dark.substr(4,2),16) / 255;
-
-		var pma = $("#pmaBlend").prop("checked");
-		if (pma) {
-			r *= a;
-			g *= a;
-			b *= a;
-
-			dr *= a;
-			dg *= a;
-			db *= a;
-			da = 1;
-		} else {
-			da = 0;
-		}
-
-		for (var i = 0, j = 2, k = 8; i < 4; i++, j+=12, k+=12) {
-			vertices[j] = r;
-			vertices[j+1] = g;
-			vertices[j+2] = b;
-			vertices[j+3] = a;
-
-			vertices[k] = dr;
-			vertices[k+1] = dg;
-			vertices[k+2] = db;
-			vertices[k+3] = da;
-		}
-	}
-
-	var canvas = document.getElementById("canvas");
-	canvas.width = canvas.clientWidth;
-	canvas.height = canvas.clientHeight;
-	var context = new spine.webgl.ManagedWebGLRenderingContext(canvas, { alpha: false });
-	var gl = context.gl;
-
-	var vertices = [ -1, -1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
-					 1, -1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
-					 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
-					 -1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0];
-	var indices = [ 0, 1, 2, 2, 3, 0 ];
-
-	var shader = spine.webgl.Shader.newTwoColoredTextured(context);
-	var ivanShader = loadIvanShader(context, shader);
-
-	var assetManager = new spine.webgl.AssetManager(context);
-	assetManager.loadTexture("assets/spineboy.png");
-	assetManager.loadTexture("assets/spineboy-pma.png");
-
-	var camMatrix = new spine.webgl.Matrix4();
-
-	var batcher = new spine.webgl.PolygonBatcher(context, true);
-
-	requestAnimationFrame(load);
-
-	function load () {
-		if (assetManager.isLoadingComplete()) {
-			texture = assetManager.get("assets/spineboy.png");
-			texturePma = assetManager.get("assets/spineboy-pma.png");
-			requestAnimationFrame(render);
-		} else requestAnimationFrame(load);
-	}
-
-	function render() {
-		gl.clearColor(1, 0, 1, 1);
-		gl.clear(gl.COLOR_BUFFER_BIT);
-
-		var pma = $("#pmaBlend").prop("checked");
-		var ivan = $("#ivan").prop("checked")
-		var s = ivan ? ivanShader : shader;
-
-		s.bind();
-		s.setUniform4x4f(spine.webgl.Shader.MVP_MATRIX, camMatrix.values);
-		s.setUniformi("u_texture", 0);
-		if (texture != null) {
-			batcher.setBlendMode(pma ? context.gl.ONE : context.gl.SRC_ALPHA, context.gl.ONE_MINUS_SRC_ALPHA)
-			batcher.begin(s);
-			batcher.draw(pma ? texturePma : texture, vertices, indices);
-			batcher.end();
-		}
-		s.unbind();
-
-		requestAnimationFrame(render);
-	}
-
-	function loadIvanShader (context, shader) {
-		var vs = shader.getVertexShaderSource();
-
-		let fs = `
-			#ifdef GL_ES
-				#define LOWP lowp
-				precision mediump float;
-			#else
-				#define LOWP
-			#endif
-			varying LOWP vec4 v_light;
-			varying LOWP vec4 v_dark;
-			varying vec2 v_texCoords;
-			uniform sampler2D u_texture;
-			void main () {
-				vec4 texColor = texture2D(u_texture, v_texCoords);
-				gl_FragColor.a = texColor.a * v_light.a;
-				gl_FragColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;
-			}
-		`;
-
-		return new spine.webgl.Shader(context, vs, fs);
-	}
-	</script>

+ 0 - 135
spine-ts/webgl/example/test.html

@@ -1,135 +0,0 @@
-<html>
-<script src="../../build/spine-webgl.js"></script>
-<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
-<style>
-	* { margin: 0; padding: 0; }
-	body, html { height: 100% }
-	canvas { position: absolute; width: 100% ;height: 100%; }
-</style>
-<body>
-<div id="label" style="position: absolute; top: 0; left: 0; color: #fff; z-index: 10"></div>
-<canvas id="canvas" style="background: red;"></canvas>
-</body>
-<script>
-
-var FILE = "coin-pro";
-var ANIMATION = "rotate";
-var NUM_SKELETONS = 1;
-var SCALE = 0.5;
-
-var canvas, context, gl, renderer, input, assetManager;
-var skeletons = [];
-var timeKeeper;
-var label = document.getElementById("label");
-var updateMean = new spine.WindowedMean();
-var renderMean = new spine.WindowedMean();
-var swirlEffect = new spine.SwirlEffect();
-var swirlTime = 0;
-var interpolation = new spine.Pow(2);
-
-function init() {
-	canvas = document.getElementById("canvas");
-	canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight;
-	context = new spine.webgl.ManagedWebGLRenderingContext(canvas, { alpha: false });
-	gl = context.gl;
-
-	renderer = new spine.webgl.SceneRenderer(canvas, context);
-	renderer.skeletonDebugRenderer.drawBones = false;
-	renderer.skeletonDebugRenderer.drawMeshTriangles = false;
-	renderer.skeletonDebugRenderer.drawMeshHull = false;
-	renderer.skeletonDebugRenderer.drawRegionAttachments = false;
-	renderer.skeletonDebugRenderer.drawBoundingBoxes = false;
-	renderer.skeletonRenderer.vertexEffect = swirlEffect;
-
-	swirlEffect.centerX = 0;
-	swirlEffect.centerY = 200;
-	swirlEffect.radius = 500;
-
-	assetManager = new spine.webgl.AssetManager(context, "assets/");
-	var textureLoader = function(img) { return new spine.webgl.GLTexture(gl, img); };
-	input = new spine.webgl.Input(canvas);
-
-	assetManager.loadTexture(FILE.replace("-pro", "").replace("-oss", "") + ".png");
-	assetManager.loadText(FILE.replace("-pro", "").replace("-oss", "") + ".atlas");
-	assetManager.loadText(FILE + ".json");
-
-	timeKeeper = new spine.TimeKeeper();
-	requestAnimationFrame(load);
-}
-
-function load() {
-	timeKeeper.update();
-	if (assetManager.isLoadingComplete()) {
-		var atlas = new spine.TextureAtlas(assetManager.get(FILE.replace("-pro", "").replace("-oss", "") + ".atlas"), function(path) {
-			return assetManager.get(path);
-		});
-		var atlasLoader = new spine.AtlasAttachmentLoader(atlas);
-		var skeletonJson = new spine.SkeletonJson(atlasLoader);
-		skeletonJson.scale = SCALE;
-		var skeletonData = skeletonJson.readSkeletonData(JSON.parse(assetManager.get(FILE + ".json")));
-
-		for (var i = 0; i < NUM_SKELETONS; i++) {
-			skeleton = new spine.Skeleton(skeletonData);
-			var stateData = new spine.AnimationStateData(skeleton.data);
-			state = new spine.AnimationState(stateData);
-
-			var mixDuration = 0.8;
-			var stableDuration = 2;
-			stateData.defaultMix = mixDuration;
-
-			state.multipleMixing = false;
-			state.setAnimation(0, ANIMATION, true);
-			skeleton.x = 0;
-			skeleton.y = 0;
-			skeleton.updateWorldTransform();
-			skeletons.push({ skeleton: skeleton, state: state });
-		}
-
-		requestAnimationFrame(render);
-	} else {
-		requestAnimationFrame(load);
-	}
-}
-
-function render() {
-	var start = Date.now()
-	timeKeeper.update();
-	var delta = timeKeeper.delta;
-	delta = 0.016;
-
-	swirlTime += delta;
-	var percent = swirlTime % 2;
-	if (percent > 1) percent = 1 - (percent - 1);
-	swirlEffect.angle = interpolation.apply(-60, 60, percent);
-
-	for (var i = 0; i < skeletons.length; i++) {
-		var state = skeletons[i].state;
-		var skeleton = skeletons[i].skeleton;
-		state.update(delta);
-		state.apply(skeleton);
-		skeleton.updateWorldTransform();
-	}
-	updateMean.addValue(Date.now() - start);
-	start = Date.now();
-
-	gl.clearColor(0.2, 0.2, 0.2, 1);
-	gl.clear(gl.COLOR_BUFFER_BIT);
-
-	renderer.resize(spine.webgl.ResizeMode.Fit);
-	renderer.begin();
-	for (var i = 0; i < skeletons.length; i++) {
-		var skeleton = skeletons[i].skeleton;
-		renderer.drawSkeleton(skeleton, false);
-		renderer.drawSkeletonDebug(skeleton);
-	}
-	renderer.end();
-
-	requestAnimationFrame(render)
-	renderMean.addValue(Date.now() - start);
-	label.innerHTML = ("Update time: " + Number(updateMean.getMean()).toFixed(2) + " ms\n" +
-					   "Render time: " + Number(renderMean.getMean()).toFixed(2) + " ms\n");
-}
-
-init();
-</script>
-</html>

+ 0 - 70
spine-ts/webgl/example/test2.html

@@ -1,70 +0,0 @@
-<html>
-<script src="../../build/spine-webgl.js"></script>
-<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
-<style>
-	* { margin: 0; padding: 0; }
-	body, html { height: 100% }
-	canvas { position: absolute; width: 100% ;height: 100%; }
-</style>
-<body>
-<div id="label" style="position: absolute; top: 0; left: 0; color: #fff; z-index: 10"></div>
-<canvas id="canvas" style="background: #ff00ff;"></canvas>
-</body>
-<script>
-var canvas = document.getElementById("canvas");
-canvas.width = canvas.clientWidth;
-canvas.height = canvas.clientHeight;
-var context = new spine.webgl.ManagedWebGLRenderingContext(canvas, { alpha: false });
-var gl = context.gl;
-
-var vertices = [ -1, -1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
-				 1, -1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
-				 0, 1, 1, 1, 1, 1, 0.5, 1, 0, 0, 0, 0];
-var indices = [ 0, 1, 2 ];
-var mesh = new spine.webgl.Mesh(context,
-								[new spine.webgl.Position2Attribute(), new spine.webgl.ColorAttribute(), new spine.webgl.TexCoordAttribute()],
-								10920, 10920 * 3);
-mesh.setVertices(vertices);
-mesh.setIndices(indices);
-
-var shader = spine.webgl.Shader.newTwoColoredTextured(context);
-
-var assetManager = new spine.webgl.AssetManager(context);
-assetManager.loadTexture("assets/spineboy.png");
-
-var camMatrix = new spine.webgl.Matrix4();
-
-var batcher = new spine.webgl.PolygonBatcher(context, true);
-
-requestAnimationFrame(load);
-
-function load () {
-	if (assetManager.isLoadingComplete()) {
-		texture = assetManager.get("assets/spineboy.png");
-		requestAnimationFrame(render);
-	} else requestAnimationFrame(load);
-}
-
-function render() {
-	gl.clearColor(1, 0, 0, 1);
-	gl.clear(gl.COLOR_BUFFER_BIT);
-
-	shader.bind();
-	shader.setUniform4x4f(spine.webgl.Shader.MVP_MATRIX, camMatrix.values);
-	shader.setUniformi("u_texture", 0);
-	if (texture != null) {
-		/*gl.enable(gl.BLEND);
-		gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
-		mesh.setVertices(vertices);
-		mesh.setIndices(indices);
-		mesh.draw(shader, gl.TRIANGLES);*/
-
-		batcher.begin(shader);
-		batcher.draw(texture, vertices, indices);
-		batcher.end();
-	}
-	shader.unbind();
-
-	requestAnimationFrame(render);
-}
-</script>