小编zen*_*nto的帖子

在WebGL中从Float32Array转换为Uint16Array

我有Float32Array纹理,可以通过WebGL正确显示.但是,当我尝试将它们转换为Uint16Array时,会出现问题.

在此输入图像描述

这是我的转换部分.

var _floatToHalfFloat = function(input, offset) {
    var largestHalf = Math.pow(2, 30-15) * (1 + 1023/1024);
    var m = new ArrayBuffer(4);
    var n = new Float32Array(m);
    var o = new Uint32Array(m);
    var f = 0.0;
    for (var i = input.length - 1 - offset; i >= 0;i--) {
        n[0] = input[i];
        f = o[0];
        // fast conversion of half
        // ref : ftp://www.fox-toolkit.org/pub/fasthalffloatconversion.pdf

        if (isNaN(input[i])) {
            input[i] = 0x7fff;
        } else if(n === Infinity || n > largestHalf) { …
Run Code Online (Sandbox Code Playgroud)

javascript ieee-754 webgl typed-arrays

7
推荐指数
1
解决办法
282
查看次数

标签 统计

ieee-754 ×1

javascript ×1

typed-arrays ×1

webgl ×1