@pmndrs/vanilla
Advanced tools
Comparing version 1.17.0 to 1.18.0
@@ -20,1 +20,2 @@ export { pcss } from './core/pcss.js'; | ||
export { MeshDistortMaterial } from './materials/MeshDistortMaterial.js'; | ||
export { MeshWobbleMaterial } from './materials/MeshWobbleMaterial.js'; |
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./MeshDiscardMaterial.cjs.js"),r=require("./MeshTransmissionMaterial.cjs.js"),s=require("./SpotLightMaterial.cjs.js"),a=require("./BlurPass.cjs.js"),t=require("./ConvolutionMaterial.cjs.js"),i=require("./MeshReflectorMaterial.cjs.js"),o=require("./MeshDistortMaterial.cjs.js");require("../core/shaderMaterial.cjs.js"),require("three"),exports.MeshDiscardMaterial=e.MeshDiscardMaterial,exports.MeshTransmissionMaterial=r.MeshTransmissionMaterial,exports.SpotLightMaterial=s.SpotLightMaterial,exports.BlurPass=a.BlurPass,exports.ConvolutionMaterial=t.ConvolutionMaterial,exports.MeshReflectorMaterial=i.MeshReflectorMaterial,exports.MeshDistortMaterial=o.MeshDistortMaterial; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./MeshDiscardMaterial.cjs.js"),r=require("./MeshTransmissionMaterial.cjs.js"),s=require("./SpotLightMaterial.cjs.js"),a=require("./BlurPass.cjs.js"),t=require("./ConvolutionMaterial.cjs.js"),i=require("./MeshReflectorMaterial.cjs.js"),M=require("./MeshDistortMaterial.cjs.js"),l=require("./MeshWobbleMaterial.cjs.js");require("../core/shaderMaterial.cjs.js"),require("three"),exports.MeshDiscardMaterial=e.MeshDiscardMaterial,exports.MeshTransmissionMaterial=r.MeshTransmissionMaterial,exports.SpotLightMaterial=s.SpotLightMaterial,exports.BlurPass=a.BlurPass,exports.ConvolutionMaterial=t.ConvolutionMaterial,exports.MeshReflectorMaterial=i.MeshReflectorMaterial,exports.MeshDistortMaterial=M.MeshDistortMaterial,exports.MeshWobbleMaterial=l.MeshWobbleMaterial; |
@@ -8,1 +8,2 @@ export * from './MeshDiscardMaterial'; | ||
export * from './MeshDistortMaterial'; | ||
export * from './MeshWobbleMaterial'; |
@@ -8,3 +8,4 @@ export { MeshDiscardMaterial } from './MeshDiscardMaterial.js'; | ||
export { MeshDistortMaterial } from './MeshDistortMaterial.js'; | ||
export { MeshWobbleMaterial } from './MeshWobbleMaterial.js'; | ||
import '../core/shaderMaterial.js'; | ||
import 'three'; |
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.MeshPhysicalMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._distort={value:.4},this._radius={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader=`\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")}get time(){return this._time.value}set time(e){this._time.value=e}get distort(){return this._distort.value}set distort(e){this._distort.value=e}get radius(){return this._radius.value}set radius(e){this._radius.value=e}}exports.MeshDistortMaterial=t; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.MeshPhysicalMaterial{constructor({time:e=0,distort:t=.4,radius:r=1,...i}={}){super(i),this.setValues(i),this._time={value:e},this._distort={value:t},this._radius={value:r}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader=`\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")}get time(){return this._time.value}set time(e){this._time.value=e}get distort(){return this._distort.value}set distort(e){this._distort.value=e}get radius(){return this._radius.value}set radius(e){this._radius.value=e}}exports.MeshDistortMaterial=t; |
import { IUniform, MeshPhysicalMaterial, MeshPhysicalMaterialParameters } from 'three'; | ||
export interface MeshDistortMaterialParameters { | ||
time?: number; | ||
distort?: number; | ||
radius?: number; | ||
} | ||
export declare class MeshDistortMaterial extends MeshPhysicalMaterial { | ||
@@ -6,3 +11,3 @@ _time: IUniform<number>; | ||
_radius: IUniform<number>; | ||
constructor(parameters?: MeshPhysicalMaterialParameters); | ||
constructor({ time, distort, radius, ...parameters }?: MeshDistortMaterialParameters & MeshPhysicalMaterialParameters); | ||
onBeforeCompile(shader: { | ||
@@ -9,0 +14,0 @@ vertexShader: string; |
@@ -5,13 +5,18 @@ import { MeshPhysicalMaterial } from 'three'; | ||
class MeshDistortMaterial extends MeshPhysicalMaterial { | ||
constructor(parameters = {}) { | ||
constructor({ | ||
time = 0, | ||
distort = 0.4, | ||
radius = 1, | ||
...parameters | ||
} = {}) { | ||
super(parameters); | ||
this.setValues(parameters); | ||
this._time = { | ||
value: 0 | ||
value: time | ||
}; | ||
this._distort = { | ||
value: 0.4 | ||
value: distort | ||
}; | ||
this._radius = { | ||
value: 1 | ||
value: radius | ||
}; | ||
@@ -18,0 +23,0 @@ } |
{ | ||
"name": "@pmndrs/vanilla", | ||
"version": "1.17.0", | ||
"version": "1.18.0", | ||
"private": false, | ||
@@ -5,0 +5,0 @@ "publishConfig": { |
@@ -46,2 +46,3 @@ ![logo](logo.jpg) | ||
<li><a href="#meshdistortmaterial">MeshDistortMaterial</a></li> | ||
<li><a href="#meshwobblematerial">MeshWobbleMaterial</a></li> | ||
<li><a href="#meshtransmissionmaterial">MeshTransmissionMaterial</a></li> | ||
@@ -189,3 +190,3 @@ <li><a href="#spotlight">SpotLight</a></li> | ||
[![storybook](https://img.shields.io/badge/-storybook-%23ff69b4)](https://pmndrs.github.io/drei-vanilla/?path=/story/shaders-meshtransmissionmaterial--mdm-story) | ||
[![storybook](https://img.shields.io/badge/-storybook-%23ff69b4)](https://pmndrs.github.io/drei-vanilla/?path=/story/shaders-meshdistortmaterial--mdm-story) | ||
@@ -198,2 +199,8 @@ <p> | ||
#### MeshWobbleMaterial | ||
[![storybook](https://img.shields.io/badge/-storybook-%23ff69b4)](https://pmndrs.github.io/drei-vanilla/?path=/story/shaders-meshwobblematerial--mwm-story) | ||
This material makes your geometry wobble and wave around. It was taken from the [threejs-examples](https://threejs.org/examples/#webgl_materials_modified) and adapted into a self-contained material. | ||
#### MeshTransmissionMaterial | ||
@@ -200,0 +207,0 @@ |
Sorry, the diff of this file is too big to display
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
334691
76
4362
836
22