New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

webgl-lut-filter

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webgl-lut-filter - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

2

package.json
{
"name": "webgl-lut-filter",
"version": "1.0.0",
"version": "1.0.1",
"description": "",

@@ -5,0 +5,0 @@ "main": "webgl-lut-filter.js",

@@ -5,2 +5,12 @@ # webgl-lut-filter

## 安装
```sh
$ npm i webgl-lut-filter
# 或者
$ yarn add webgl-lut-filter
```
## 使用

@@ -7,0 +17,0 @@

@@ -1,2 +0,2 @@

// v1.0.0
// v1.0.1
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e=e||self).lutFilter=r()}(this,function(){"use strict";var e={type:"x-shader/x-vertex",text:"\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform vec2 u_resolution;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec2 zeroToOne = a_position / u_resolution;\n vec2 zeroToTwo = zeroToOne * 2.0;\n vec2 clipSpace = zeroToTwo - 1.0;\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n v_texCoord = a_texCoord;\n}\n"},r={type:"x-shader/x-fragment",text:"\nprecision mediump float;\n\nvarying lowp vec2 v_texCoord;\n\nuniform sampler2D u_image0;\nuniform sampler2D u_image1; // lookup texture\n\nvoid main()\n{\n vec4 textureColor = texture2D(u_image0, v_texCoord);\n\n float blueColor = textureColor.b * 63.0;\n\n vec2 quad1;\n quad1.y = floor(floor(blueColor) / 8.0);\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\n\n vec2 quad2;\n quad2.y = floor(ceil(blueColor) / 8.0);\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n\n vec2 texPos1;\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n vec2 texPos2;\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n lowp vec4 newColor1 = texture2D(u_image1, texPos1);\n lowp vec4 newColor2 = texture2D(u_image1, texPos2);\n\n lowp vec4 newColor = mix(newColor1, newColor2, fract(blueColor));\n\n gl_FragColor = mix(textureColor, vec4(newColor.rgb, textureColor.w), 1.0);\n}\n"};return function(t){var o=t.canvas,n=t.filterImage,a=t.image,i=o.getContext("webgl",{preserveDrawingBuffer:!0}),T=function(e,r){for(var t=[],o=0;o<r.length;++o){var n=r[o],a=n.type,i=n.text;"x-shader/x-vertex"===a?a=e.VERTEX_SHADER:"x-shader/x-fragment"===a&&(a=e.FRAGMENT_SHADER);var T=e.createShader(a);e.shaderSource(T,i),e.compileShader(T),e.getShaderParameter(T,e.COMPILE_STATUS),t.push(T)}var u=e.createProgram();return t.forEach(function(r){return e.attachShader(u,r)}),e.linkProgram(u),u}(i,[e,r]),u=i.getAttribLocation(T,"a_position"),E=i.getAttribLocation(T,"a_texCoord"),_=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,_);var x=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,x),i.bufferData(i.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),i.STATIC_DRAW);var R=i.getUniformLocation(T,"u_resolution"),l=i.getUniformLocation(T,"u_image0"),c=i.getUniformLocation(T,"u_image1");o.width=a.width,o.height=a.height;var d=i.createTexture();i.bindTexture(i.TEXTURE_2D,d),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,a);var f=i.createTexture();i.bindTexture(i.TEXTURE_2D,f),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.useProgram(T),i.viewport(0,0,i.canvas.width,i.canvas.height),i.bindBuffer(i.ARRAY_BUFFER,_),i.bufferData(i.ARRAY_BUFFER,new Float32Array([0,0,o.width,0,0,o.height,0,o.height,o.width,0,o.width,o.height]),i.STATIC_DRAW),i.enableVertexAttribArray(u),i.vertexAttribPointer(u,2,i.FLOAT,!1,0,0),i.enableVertexAttribArray(E),i.bindBuffer(i.ARRAY_BUFFER,x),i.vertexAttribPointer(E,2,i.FLOAT,!1,0,0),i.uniform2f(R,i.canvas.width,i.canvas.height),i.uniform1i(l,0),i.uniform1i(c,1),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,d),i.activeTexture(i.TEXTURE1),i.bindTexture(i.TEXTURE_2D,f),i.drawArrays(i.TRIANGLES,0,6)}});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc