小编Niq*_*r31的帖子

HTML、Canvas 和 WebGL 之间的质量差异

我想在 WebGL 中绘制图像,但缩小了尺寸。当我不缩放它时,图像的质量很好,但如果我缩小它,那么图像的质量很差。

我从这里读到“在 WebGL 中处理高 DPI(视网膜)显示”: http: //www.khronos.org/webgl/wiki/HandlingHighDPI,我尝试做同样的事情。我在 WebGL 中的代码是:

        Initializations:

        var devicePixelRatio = window.devicePixelRatio || 1;

        gl.canvas.style.width = "800px";
        gl.canvas.style.height = "600px";

        canvas.width = Math.round(800 * devicePixelRatio);
        canvas.height = Math.round(600 * devicePixelRatio);


        For drawing:

        gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
        matrix = m3.scale(matrix, 28/800, 35/600); // matrix for scaling texture

        Textures:

        gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
        gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
        gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
        gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
Run Code Online (Sandbox Code Playgroud)

但这并不具有与 HTML 图像相同的质量。我的 HTML 代码是:

        setTimeout(function() {

            var imagine = new Image();
            imagine.src = 'Tank.png';
            imagine.width …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas image webgl

0
推荐指数
1
解决办法
2089
查看次数

标签 统计

canvas ×1

html ×1

image ×1

javascript ×1

webgl ×1