UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

2 lines (1 loc) 1.63 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var r=require("../Texture.js"),e=require("../Texture2D.js"),t=String.fromCharCode;function n(r,e,t,n){if(r[3]>0){var f=Math.pow(2,r[3]-128-8+n);e[t+0]=r[0]*f,e[t+1]=r[1]*f,e[t+2]=r[2]*f}else e[t+0]=0,e[t+1]=0,e[t+2]=0;return e[t+3]=1,e}function f(r,e,t,n){for(var f,a,o=0,u=0,i=n;i>0;)if(r[u][0]=e[t++],r[u][1]=e[t++],r[u][2]=e[t++],r[u][3]=e[t++],1===r[u][0]&&1===r[u][1]&&1===r[u][2]){for(var l=r[u][3]<<o>>>0;l>0;l--)f=r[u-1],(a=r[u])[0]=f[0],a[1]=f[1],a[2]=f[2],a[3]=f[3],u++,i--;o+=8}else u++,i--,o=0;return t}function a(r,e,t,n){if(n<8|n>32767)return f(r,e,t,n);if(2!=(a=e[t++]))return f(r,e,t-1,n);if(r[0][1]=e[t++],r[0][2]=e[t++],a=e[t++],(r[0][2]<<8>>>0|a)>>>0!==n)return null;for(var a=0;a<4;a++)for(var o=0;o<n;){var u=e[t++];if(u>128){u=(127&u)>>>0;for(var i=e[t++];u--;)r[o++][a]=i}else for(;u--;)r[o++][a]=e[t++]}return t}var o={parseRGBE:function(f,o,u){null==u&&(u=0);var i=new Uint8Array(f),l=i.length;if("#?"===function(r,e,n){for(var f="",a=e;a<n;a++)f+=t(r[a]);return f}(i,0,2)){for(var v=2;v<l&&("\n"!==t(i[v])||"\n"!==t(i[v+1]));v++);if(!(v>=l)){v+=2;for(var s="";v<l;v++){var p=t(i[v]);if("\n"===p)break;s+=p}var c=s.split(" "),d=parseInt(c[1]),h=parseInt(c[3]);if(h&&d){for(var g=v+1,w=[],x=0;x<h;x++){w[x]=[];for(var y=0;y<4;y++)w[x][y]=0}for(var T=new Float32Array(h*d*4),b=0,j=0;j<d;j++){if(!(g=a(w,i,g,h)))return null;for(x=0;x<h;x++)n(w[x],T,b,u),b+=4}return o||(o=new e.default),o.width=h,o.height=d,o.pixels=T,o.type=r.default.FLOAT,o}}}},parseRGBEFromPNG:function(r){}};exports.default=o;