新增3.4版本支持
This commit is contained in:
1 parent
4c5033d2f9
commit
9635428f78
21 files changed
+5425
-51
No files matched your search
@@ -0,0 +1,36 @@
|
||||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<title>Spine mesh seam regression</title>
|
||||
<pre id="result">Running</pre>
|
||||
<script>var module = { exports: {} };</script>
|
||||
<script src="../js/spine-webgl-rasterizer.js"></script>
|
||||
<script>
|
||||
// Open locally in Chromium. A translucent quad must have neither cracks nor
|
||||
// double-blended pixels along its shared diagonal, including after scaling.
|
||||
try {
|
||||
for (const scale of [1, 1.25]) {
|
||||
const target = document.createElement('canvas');
|
||||
target.width = target.height = 96;
|
||||
const ctx = target.getContext('2d');
|
||||
ctx.translate(2, 3); ctx.scale(scale, scale);
|
||||
const image = document.createElement('canvas');
|
||||
image.width = image.height = 8;
|
||||
const paint = image.getContext('2d');
|
||||
paint.fillStyle = '#80c040'; paint.fillRect(0, 0, 8, 8);
|
||||
const rasterizer = module.exports.createRasterizer(ctx);
|
||||
if (!rasterizer || !rasterizer.begin()) throw new Error('WebGL unavailable');
|
||||
ctx.globalAlpha = 0.5;
|
||||
rasterizer.triangle(image, 8,8,0,0, 56,8,1,0, 56,56,1,1);
|
||||
rasterizer.triangle(image, 8,8,0,0, 56,56,1,1, 8,56,0,1);
|
||||
rasterizer.end();
|
||||
const pixels = ctx.getImageData(0,0,96,96).data;
|
||||
for (let y = 15; y < 50; y++) for (let x = 15; x < 50; x++) {
|
||||
const offset = (y * 96 + x) * 4;
|
||||
if (Math.abs(pixels[offset+3]-128)>1 || Math.abs(pixels[offset]-128)>2)
|
||||
throw new Error(`Seam/overlap at ${x},${y}, scale ${scale}: ${pixels.slice(offset,offset+4)}`);
|
||||
}
|
||||
rasterizer.dispose();
|
||||
}
|
||||
document.getElementById('result').textContent = 'PASS: shared edges, opacity, transformed geometry';
|
||||
} catch (error) { document.getElementById('result').textContent = 'FAIL: ' + error.stack; }
|
||||
</script>
|
||||
Reference in new issue
Block a user