Questo sito utilizza i cookie tecnici, insieme a cookie di terze parti per fini statistici. Per avere maggiori informazioni circa l'utilizzo di cookie clicca QUI. Continuando la navigazione dai il tuo consenso per il loro utilizzo. OK
YOUR COOKIE SETTINGS
Cookies are very small text files that your computer downloads when you visit a website.
When you return to websites—or visit other websites that use the same cookies—they recognise these cookies and therefore your computer or mobile device.

Will you accept these cookies?
LEARN MORE
YES
You can always change your preference by visiting the "Cookie Settings" at the bottom of the page.
X
Cookies are very small text files that your computer downloads when you visit a website. When you return to websites—or visit other websites that use the same cookies—they recognise these cookies and therefore your computer or mobile device.
Will you accept these cookies?
X
Cookies are very small text files that your computer downloads when you visit a website.
When you return to websites—or visit other websites that use the same cookies—they recognise these cookies and therefore your computer or mobile device.
Will you accept these cookies?
X
Cookies are very small text files that your computer downloads when you visit a website. When you return to websites—or visit other websites that use the same cookies—they recognise these cookies and therefore your computer or mobile device.
Will you accept these cookies?
X
You can always change your preference by visiting the "Cookie Settings" at the bottom of the page.
CLOSE
WORLDWIDE STOCKISTS INFORMATION UPON REQUEST
NAME*
SUBJECT
PHONE
EMAIL*
CONFIRM EMAIL*
COMMENTS
accept terms and conditions*
I have received from "Guidi srl" a wide and comprehensive privacy policy regarding the data processing carried out in relation to the data collected from the site www.guidi.it and I consent to the processing of my personal data for the purposes and according to the procedures set out in the information.
learn more
Keep in Touch
"I want to subscribe to the newsletter", in accordance with point 1.3 of the privacy policy .
learn more
SEND MESSAGE
MESSAGE.SENTINVALID.MAIL
* REQUIRED FIELDS
WORLDWIDE STOCKISTS INFORMATION UPON REQUEST
NAME*
SUBJECT
PHONE
EMAIL*
COMMENTS
SEND MESSAGE
R
T
S
oots. Since 1896 Guido Guidi, Giovanni Rosellini and Gino Ulivo established "conceria Guidi Rosellini" in Pescia, Tuscany. Here, the art of leather tanning can be traced back to the middle age, where a guild of tanners and shoemakers existed since the XIV century.
annery. Today Ruggero Guidi is running the tannery and has spent his time and energy looking for the perfect balance between advanced technologies and respect for his heritage of traditions and skills. The "conceria Guidi Rosellini" is well known all over the world: the most demanding designers ask Guidi for special leathers and treatments and he always delivers exactly what they want.
hoes. Passion for leather and respect for its tradition are the core of Guidi's shoe collection project. He refuses the mass production logic being instead focused on his own independent research beyond all the trends. Shoes for all of those who really want something unique with a twist of tradition; shoes that only a craftsman would be able to make. Guidi is the tie existing between the object and its possessor.
GUIDI1896 srl
Address:
VIA STIGNANESE, 76
51019 PONTE BUGGIANESE (PT)
ITALY

CONTACTS:
GUIDI@GUIDI.IT

CUSTOMERSERVICE@GUIDI.IT

NEWSLETTER SUBSCRIPTION
GUIDI 1896 srl
billing address:
VIA STIGNANESE, 76
51019 PONTE BUGGIANESE (PT) ITALY

MAILTO:
CONTACTS:
GUIDI@GUIDI.IT

CUSTOMER SERVICE
PHONE: +39 0572 930211
CUSTOMERSERVICE@GUIDI.IT

NEWSLETTER SUBSCRIPTION
//https://dominium.maksw.com/articles/physically-based-rendering-pbr/pbr-part-one/ //https://threejs.org/examples/webgl_materials_envmaps_parallax.html precision highp float; precision highp int; varying vec3 vViewModelPosition; varying vec3 vvLocalSurfaceNormal ; varying vec3 vvLocalSurfaceToLightDirection; varying vec3 vvLocalReflectedSurfaceToViewerDirection; varying vec3 vvLocalSurfaceToViewerDirection; //varying vec2 vuvCoord0 ; varying vec2 vUv ; uniform mat3 uvTransform; uniform vec3 glLightPosition; void main(){ //vuvCoord0 = gl_MultiTexCoord0.st ; vUv = ( uvTransform * vec3( uv, 1 ) ).xy; vec3 objectNormal = vec3( normal ); vec3 transformedNormal = objectNormal; transformedNormal = normalMatrix * transformedNormal; vvLocalSurfaceNormal = normalize( transformedNormal ); vec3 transformed = vec3( position ); vec4 mvPosition = vec4( transformed, 1.0 ); mvPosition = modelViewMatrix * mvPosition; vViewModelPosition = - mvPosition.xyz; // vec3 vViewModelPosition = vec3(gl_ModelViewMatrixInverse * vec4(0, 0, 0, 1.0)); // vec3 vLightModelPosition = (gl_ModelViewMatrixInverse * gl_LightSource[0].position).xyz; //vec3 vViewModelPosition = vec4(gl_ModelViewMatrixInverse * vec4(0., 0., 0., 1.0)).xyz; vvLocalSurfaceToViewerDirection = normalize(vViewModelPosition - transformed) ; //glLightPosition=vec3(0.,10.,-700.); vec3 vLightModelPosition = (glLightPosition).xyz; vvLocalSurfaceToLightDirection = normalize(vLightModelPosition - transformed) ; //vvLocalSurfaceNormal = normalize(normal) ; vec3 vLocalSurfaceToViewerDirection = normalize(vViewModelPosition - transformed) ; vvLocalReflectedSurfaceToViewerDirection = normalize(reflect(vLocalSurfaceToViewerDirection, vvLocalSurfaceNormal)) ; gl_Position = projectionMatrix * mvPosition; // gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }
//https://dominium.maksw.com/articles/physically-based-rendering-pbr/pbr-part-one/ //https://threejs.org/examples/webgl_materials_envmaps_parallax.html precision highp float; precision highp int; //uniform samplerCube cubeMap ; uniform sampler2D emissiveMap ; uniform sampler2D metalnessMap ; uniform sampler2D roughnessMap; uniform sampler2D lightMap; uniform sampler2D albedoMap ; uniform vec3 emissive ; uniform vec2 uvm ; uniform vec2 uvt ; uniform vec2 uvk ; uniform float reflect ; varying vec3 vViewModelPosition; varying vec3 vvLocalSurfaceNormal ; varying vec3 vvLocalSurfaceToLightDirection; varying vec3 vvLocalReflectedSurfaceToViewerDirection; //varying vec2 vuvCoord0 ; varying vec2 vUv ; uniform mat3 uvTransform; varying vec3 vvLocalSurfaceToViewerDirection; const float cpi = 3.141592653589793238462643383279502884 ; float computeFresnelTerm(float fZero, vec3 vSurfaceToViewerDirection, vec3 vSurfaceNormal) { float baseValue = 1.0 - dot(vSurfaceToViewerDirection, vSurfaceNormal); float exponential = pow(baseValue, 5.0) ; float fresnel = exponential + fZero * (1.0 - exponential) ; return fresnel ; } float chiGGX(float f) { return f > 0.0 ? 1.0 : 0.0 ; } float computeGGXDistribution(vec3 vSurfaceNormal, vec3 vSurfaceToLightDirection, float fRoughness) { float fNormalDotLight = clamp(dot(vSurfaceNormal, vSurfaceToLightDirection), 0.0, 1.0) ; float fNormalDotLightSquared = fNormalDotLight * fNormalDotLight ; float fRoughnessSquared = fRoughness * fRoughness ; float fDen = fNormalDotLightSquared * fRoughnessSquared + (1. - fNormalDotLightSquared); return clamp((chiGGX(fNormalDotLight) * fRoughnessSquared) / (cpi * fDen * fDen), 0.0, 1.0); } float computeGGXPartialGeometryTerm(vec3 vSurfaceToViewerDirection, vec3 vSurfaceNormal, vec3 vLightViewHalfVector, float fRoughness) { float fViewerDotLightViewHalf = clamp(dot(vSurfaceToViewerDirection, vLightViewHalfVector), 0.0, 1.0) ; float fChi = chiGGX(fViewerDotLightViewHalf / clamp(dot(vSurfaceToViewerDirection, vSurfaceNormal), 0.0, 1.0)); fViewerDotLightViewHalf *= fViewerDotLightViewHalf; float fTan2 = (1.0 - fViewerDotLightViewHalf) / fViewerDotLightViewHalf; return clamp((fChi * 2.0) / (1.0 + sqrt(1. + fRoughness * fRoughness * fTan2)), 0.0, 1.0) ; } void main(){ vec3 vNormalisedLocalSurfaceNormal = normalize(vvLocalSurfaceNormal) ; vec3 vNormalisedLocalSurfaceToLightDirection = normalize(vvLocalSurfaceToLightDirection) ; vec3 vNormalisedLocalReflectedSurfaceToViewerDirection = normalize(vvLocalReflectedSurfaceToViewerDirection) ; vec3 vNormalisedLocalSurfaceToViewerDirection = normalize(vvLocalSurfaceToViewerDirection) ; vec3 vLocalLightViewHalfVector = normalize(vNormalisedLocalSurfaceToLightDirection + vNormalisedLocalSurfaceToViewerDirection) ; float fLightIntensity = max(dot(vNormalisedLocalSurfaceToLightDirection, vNormalisedLocalSurfaceNormal), 0.0) ; float fMetalness = 1.;//texture2D(metalnessMap, vUv).r ; // float fRoughness = max(0.001, texture2D(roughnessMap, vUv).r ) ; // float fRoughness = texture2D(roughnessMap, vUv).r ; float fRoughness = max(0.001, texture2D(roughnessMap, fract(vec2(vUv.x*uvm.x ,vUv.y*uvm.y) )).r ) ; float distributionMicroFacet = computeGGXDistribution(vNormalisedLocalSurfaceNormal, vNormalisedLocalSurfaceToLightDirection, fRoughness) ; float geometryMicroFacet = computeGGXPartialGeometryTerm(vNormalisedLocalSurfaceToViewerDirection, vNormalisedLocalSurfaceNormal, vLocalLightViewHalfVector, fRoughness) ; float microFacetContribution = distributionMicroFacet * geometryMicroFacet ; float fLightSourceFresnelTerm = computeFresnelTerm(0.9, vNormalisedLocalSurfaceToViewerDirection, vNormalisedLocalSurfaceNormal) ; vec3 rgbAlbedo = vec3(1.);//texture2D(albedoMap, vUv).rgb ; vec3 rgbFragment = vec3(1.);//rgbAlbedo * (1.0 - fMetalness); // vec3 rgbSourceReflection = textureCubeLod(cubeMap, vNormalisedLocalReflectedSurfaceToViewerDirection, 9.0 * fRoughness).rgb ; vec4 emissiveColor ; vec2 uxv=vec2(vUv.x,vUv.y ); float s = (vViewModelPosition.z); float sy = (s-0.5)*2.; // uxv=vec2(fau.x * ( uxv.x-0.5 ) * ( 1./(1.+fau2.x*s) )+0.5 , fau4.y*( ( uxv.y-0.5 ) * ( 1./( 1. + (fau2.y*s) + (1.-s)*(fau3.y) ) ) + fau.y ) -1.); // vec2 uv_f=vec2(uxv.x,uxv.y ); uxv=vec2( 212. * ( uxv.x-0.5 ) * ( 1./(1.+200.*s) )+0.5 , 1. * ( uxv.y-0.5 ) * ( 1./( 1. + (5.*s) + (1.-s)*(-0.7) ) ) + 0.508 ); vec2 uv_f=vec2(1.-uxv.x,uxv.y*3.-1. ); //emissiveColor = texture2D( emissiveMap, uv_f, 9.0 * fRoughness);//0.75,1.,0.3,0.699 emissiveColor = texture2D( emissiveMap, vec2(((1.-vUv.x)-0.5)*uvm.x* ( 1./(1.+(uvk.x+s)*uvt.x) )+0.5 , (vUv.y-0.5)*( 1./( 1. + uvt.y*(5.*s/600.) + (1.-s/600.)*uvm.y*(-0.7) ) )*uvk.y + 0.79 ), 9.0 * fRoughness); vec2 uv_L=vec2( ( ( vUv.x-0.5 ) * ( 1./(1.+0.5*(s)) )*1.93+0.5),(vUv.y-0.5)*1.11+0.5+0.045 ); vec4 lightm= texture2D( lightMap, uv_L, 9.0 * fRoughness); emissiveColor.rgb = emissive *(reflect*emissiveMapTexelToLinear( emissiveColor).rgb + (1.-reflect)*lightm.rgb); vec3 rgbSourceReflection = emissiveColor.rgb; vec3 rgbReflection = rgbSourceReflection ; // rgbReflection *= rgbAlbedo * fMetalness ; // rgbReflection *= fLightSourceFresnelTerm ; // rgbReflection = min(rgbReflection, rgbSourceReflection) ; // conservation of energy vec3 rgbSpecular = vec3(0.0) ; if (fLightIntensity > 0.0) { rgbSpecular = vec3(1.0) ; rgbSpecular *= microFacetContribution * fLightSourceFresnelTerm ; rgbSpecular = min(vec3(1.0), rgbSpecular) ; // conservation of energy } rgbFragment += rgbSpecular ; rgbFragment *= fLightIntensity ; rgbFragment += rgbReflection ; //rgbFragment =rgbFragment*0.4 0.6*lightm.rgb; gl_FragColor.rgb = rgbFragment ; gl_FragColor.a = 1.0 ; // TODO : Worry about materials which allow transparency! }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 vec2 n3mod289(vec2 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; } vec3 n3mod289(vec3 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; } vec4 n3mod289(vec4 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; } vec4 permute(vec4 x) { return n3mod289(((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); // First corner vec3 i = floor(v + dot(v, C.yyy) ); vec3 x0 = v - i + dot(i, C.xxx) ; // Other corners 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 ); // x0 = x0 - 0.0 + 0.0 * C.xxx; // x1 = x0 - i1 + 1.0 * C.xxx; // x2 = x0 - i2 + 2.0 * C.xxx; // x3 = x0 - 1.0 + 3.0 * C.xxx; vec3 x1 = x0 - i1 + C.xxx; vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y // Permutations i = n3mod289(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 )); // Gradients: 7x7 points over a square, mapped onto an octahedron. // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) float n_ = 0.142857142857; // 1.0/7.0 vec3 ns = n_ * D.wyz - D.xzx; vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7) vec4 x_ = floor(j * ns.z); vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N) 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 = vec4(lessThan(b0,0.0))*2.0 - 1.0; //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; 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); //Normalise gradients 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; // Mix final noise value 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) ) ); } mat2 rotate2d(float _angle){ return mat2(cos(_angle),-sin(_angle), sin(_angle),cos(_angle)); } float fuzzy(float n,vec2 fn){ float exp1=fn.x; float exp2=fn.y; // m = (pow(n,exp1))/( (pow(n,exp1)) + pow( 1. - ( pow(n,exp2) ),exp1 ) ); return (pow(n,exp1))/( (pow(n,exp1)) + pow( 1. - ( pow(n,exp2) ),exp1 ) ); } uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; uniform float zoom; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; // uv.x *= iResolution.x / iResolution.y; //vec4 noise = texture2D(texturex, uv ); float z = 200.*(300. + 5.*uGlobalTime * uSpeed); float duv = 5.*snoise(vec3(uv, z)) * uVolatility*uSeed; float duv2 = 3.*snoise(vec3(uv, z+313.4)) * uVolatility*uSeed; uv += duv; // move space from the center to the vec2(0.0) //vec2 st = uv; // rotate the space // uv -= vec2(0.5+3.*duv,0.5); // float fa=-sin(uGlobalTime)*5.*3.14 *uSeed*duv2; // uv = ( ( rotate2d( fa ) ) )* uv*(1.); // uv += vec2(0.5+3.*duv,0.5); // move it back to the original place // rotate the space // uv -= vec2(0.5,0.5+3.*duv2); // float fa2=sin(uGlobalTime)*7.*3.14 *uSeed*duv; // uv = ( ( rotate2d( fa2 ) ) )* uv*(1.); // uv += vec2(0.5,0.5+3.*duv2); // move it back to the original place // move space from the center to the vec2(0.0) //vec2 st = uv; uv -= vec2(0.5,0.5); // rotate the space float fa=sin(uGlobalTime)*4.*3.14*length(uv-0.5)*duv *uSeed; uv = ( ( rotate2d( fa ) ) )* uv*(1.+0.2*length(uv-0.5)*uSeed); // move it back to the original place uv += vec2(0.5,0.5); vec4 xz= texture2D(texturex, uv); gl_FragColor = vec4( xz.xyz,(1.-fuzzy( uSeed,vec2(0.5,8.)))*xz.w*(1.-uSeed*5.*length(uv-0.5) ) ); // gl_FragColor = vec4( xz.xyz,(1.-fuzzy( uSeed,vec2(0.5,8.)))*xz.w ); // gl_FragColor = vec4(noise.xyz, 1.0) ; //gl_FragColor = vec4(0.,1.,0., 1.0) ; }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 float fuzzy(float n,vec2 fn){ float exp1=fn.x; float exp2=fn.y; // m = (pow(n,exp1))/( (pow(n,exp1)) + pow( 1. - ( pow(n,exp2) ),exp1 ) ); return (pow(n,exp1))/( (pow(n,exp1)) + pow( 1. - ( pow(n,exp2) ),exp1 ) ); } uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; uniform float zoom; uniform float light; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; // uv.x *= iResolution.x / iResolution.y; //vec4 noise = texture2D(texturex, uv ); vec4 xz= texture2D(texturex, uv); gl_FragColor = vec4( light*xz.xyz,(1.-fuzzy( uSeed,vec2(0.5,8.)))*xz.w*(1.-uSeed*5.*length(uv-0.5) ) ); }
varying vec2 vUv; uniform float zoom; void main() { // vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position*(1.+zoom), 1.0 ); // gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); // gl_Position = vec4( position, 1.0 ); }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; vec4 xz= texture2D(texturex,vec2( 4.*(1.-uv.x )*uv.x , uv.y ) ); gl_FragColor = xz ; // gl_FragColor =vec4( xz.xyz,(1.-fuzzy( uSeed,vec2(0.5,8.)))*xz.w ); // // gl_FragColor = vec4(noise.xyz, 1.0) ; // // gl_FragColor = vec4(0.,1.,0., 1.0) ; }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; vec4 xz= texture2D(texturex,vec2( uv.x , uv.y ) ); gl_FragColor = vec4(uVolatility*xz.xyz ,1.); // gl_FragColor =vec4( xz.xyz,(1.-fuzzy( uSeed,vec2(0.5,8.)))*xz.w ); // // gl_FragColor = vec4(noise.xyz, 1.0) ; // // gl_FragColor = vec4(0.,1.,0., 1.0) ; }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform vec2 uvt; uniform float uSeed; varying vec2 vUv; varying vec3 vViewModelPosition; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; float s = (vViewModelPosition.z)/(600.); // vec4 xz= texture2D(texturex,vec2( uv.x , uv.y ) ); vec2 uv_L=vec2( ( ( vUv.x-0.5 ) * ( 1./(1.+0.495*(s)) )*1.875+0.5),(vUv.y-0.5)*0.945+0.5+0.+0.024+uvt.y ); // vec4 lightm= texture2D( lightMap, uv_L, 9.0 * fRoughness); vec4 xz= texture2D(texturex,uv_L ); gl_FragColor = vec4(uVolatility*xz.xyz ,1.); // gl_FragColor =vec4( xz.xyz,(1.-fuzzy( uSeed,vec2(0.5,8.)))*xz.w ); // // gl_FragColor = vec4(noise.xyz, 1.0) ; // // gl_FragColor = vec4(0.,1.,0., 1.0) ; }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; uniform float repeat; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; if(vUv.y < uSeed ){ vec4 xz= texture2D(texturex, vec2(fract(uv.x*repeat+uGlobalTime),fract(uv.y*repeat))); // gl_FragColor =vec4( (1. - step(xz.xyz,vec3(0.1) )) , uSeed*xz.w); gl_FragColor =vec4( xz.xyz, xz.w); } }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; vec4 xz= texture2D(texturex, uv); gl_FragColor =vec4( (1. - step(xz.xyz,vec3(0.1) )) , uSeed*xz.w); }
varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }
varying vec2 vUv; varying vec3 vViewModelPosition; void main() { // vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; vec4 zz = - modelViewMatrix * vec4(position,1.); vViewModelPosition=zz.xyz; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); // gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); // //gl_Position = vec4( position, 1.0 ); }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 uniform sampler2D texturex; uniform vec3 iResolution; uniform float uSpeed; uniform float uGlobalTime; uniform float uVolatility; uniform float uSeed; varying vec2 vUv; uniform float move; uniform float move2; uniform float move3; uniform float move4; uniform vec2 uvm; float rand(vec2 co){ return fract(sin(dot(co.xy, vec2(12.8273, 67.245))) * 53726.17623); } void main() { vec2 uv = vUv*1.; vec4 xz= texture2D(texturex, fract(vec2(vUv.x*uvm.x + move2 ,vUv.y*uvm.y + move ) )); gl_FragColor =vec4(move4*xz.x,move4*xz.y,move4*xz.z,xz.w); }
varying vec2 vUv; uniform float move; uniform float move2; uniform float move3; uniform vec2 uvm; uniform float tunnel_lungo; void main() { // vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; vec3 transformed=position; float x = fract(-((position.y+move3)-20.)/(tunnel_lungo+20.)); transformed.y = -x*(tunnel_lungo+20.) +20.; // transformed.y = (position.y+move3) - (tunnel_lungo/2.)*floor((move3)/(tunnel_lungo/2.)) ; float xq=650.; float max=- fract(-((-(xq)+30.+move3)-50.)/(tunnel_lungo+50.))*(tunnel_lungo+50.) +50.; float min=- fract(-((-(xq)+move3)-50.)/(tunnel_lungo+50.))*(tunnel_lungo+50.) +50.; float xq2=800.; float max2=- fract(-((-(xq2)+30.+move3)-50.)/(tunnel_lungo+50.))*(tunnel_lungo+50.) +50.; float min2=- fract(-((-(xq2)+move3)-50.)/(tunnel_lungo+50.))*(tunnel_lungo+50.) +50.; float xq3=1100.; float max3=- fract(-((-(xq3)+30.+move3)-50.)/(tunnel_lungo+50.))*(tunnel_lungo+50.) +50.; float min3=- fract(-((-(xq3)+move3)-50.)/(tunnel_lungo+50.))*(tunnel_lungo+50.) +50.; if(transformed.y > min && transformed.y < max){ if(x < 0.999){ gl_Position = projectionMatrix * modelViewMatrix * vec4( transformed, 1.0 ); } }else if(transformed.y > min2 && transformed.y < max2){ if(x < 0.999){ gl_Position = projectionMatrix * modelViewMatrix * vec4( transformed, 1.0 ); } }else if(transformed.y > min3 && transformed.y < max3){ if(x < 0.999){ gl_Position = projectionMatrix * modelViewMatrix * vec4( transformed, 1.0 ); } } //gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); //gl_Position = vec4( position, 1.0 ); }
varying vec2 vUv; uniform float move; uniform float move2; uniform float move3; uniform vec2 uvm; uniform float tunnel_lungo; void main() { // vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; vec3 transformed=position; // transformed.y = (position.y+move3) - (tunnel_lungo/2.)*floor((move3)/(tunnel_lungo/2.)) ; float x = fract(-((position.y+move3)-20.)/(tunnel_lungo+20.)); transformed.y = -x*(tunnel_lungo+20.) +20.; if(x < 0.99 && transformed.y > -400.){ gl_Position = projectionMatrix * modelViewMatrix * vec4( transformed, 1.0 ); } //gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); //gl_Position = vec4( position, 1.0 ); }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 float fuzzy(float n,vec2 fn){ float exp1=fn.x; float exp2=fn.y; // m = (pow(n,exp1))/( (pow(n,exp1)) + pow( 1. - ( pow(n,exp2) ),exp1 ) ); return (pow(n,exp1))/( (pow(n,exp1)) + pow( 1. - ( pow(n,exp2) ),exp1 ) ); } uniform sampler2D texturex; uniform vec3 iResolution; varying vec2 vUv; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec2 uv = vUv*1.; // uv.x *= iResolution.x / iResolution.y; vec4 noise = texture2D(texturex, uv ); gl_FragColor = noise ; //gl_FragColor = vec4(0.,1.,0., 1.0) ; }
varying vec2 vUv; void main() { // vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); // gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); //gl_Position = vec4( position, 1.0 ); }
void main() { // vec2 fragCoord = vUv * iResolution.xy; gl_FragColor = vec4( 1.,0.,0.,1. ); }
void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }
uniform vec3 viewVector; varying float intensity; void main() { // vec2 fragCoord = vUv * iResolution.xy; vec3 glow = vec3(1., 1., 1.) * intensity; gl_FragColor = vec4( glow, intensity ); }
uniform vec3 viewVector; varying float intensity; varying vec2 vUv; void main() { vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); vec3 actual_normal = vec3(modelMatrix * vec4(normal, 0.0)); //intensity = 2.*(pow( dot(normalize(viewVector), actual_normal), 6.0 ) ); intensity = (pow( dot(normalize(viewVector), actual_normal), 6.0 ) ); // gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); //gl_Position = vec4( position, 1.0 ); }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 #define TAU 6.28318530718 #define MAX_ITER 5 varying vec3 vWorldPosition; varying vec3 positionx; varying vec2 vUv; void main() { // vUv = uv; // vUv=position.xy*0.5+0.5; vUv = uv; positionx=position; //vec2 p = mod(uv*TAU, TAU)-250.0; vWorldPosition=vec4(modelMatrix*vec4( position.xyz, 1.0 ) ).xyz; gl_Position = projectionMatrix * modelViewMatrix * vec4( position.xyz, 1.0 ); }
#define TIMESCALE 0.25 #define TILES 4 #define COLOR 0.7, 1.6, 2.8 #define TAU 6.28318530718 #define MAX_ITER 2 // uniform sampler2D texturex; varying vec2 vUv; varying vec3 vWorldPosition; varying vec3 positionx; float rand(vec2 co){ return fract(sin(dot(co.xy, vec2(12.8273, 67.245))) * 53726.17623); } void main() { // float time = .5+23.0; // float time = .5+23.0+0.005*vWorldPosition.x+0.009*(vWorldPosition.y-50.); // float time = +23.0+0.00*vWorldPosition.x+0.00*vWorldPosition.z+0.00*(vWorldPosition.y-50.); float time = +23.0+0.004*vWorldPosition.x+0.002*vWorldPosition.z+0.005*(vWorldPosition.y-50.); // uv should be the 0-1 uv of texture... //vec2 uv = fragCoord.xy / iResolution.xy; // vec2 uv = vUv*1.; vec2 uv = vec2(vUv.x,vUv.y); vec2 p = mod(uv*TAU*0.3, TAU)-250.0; // vec2 p = vec2(mod(uv.x*TAU*0.3, TAU)-250.0,mod(uv.y*TAU*0.3, TAU)-250.0); vec2 i = vec2(p); float c = 1.0; float inten = .005; for (int n = 0; n < MAX_ITER; n++) { float t = time * (1.0 - (3.5 / float(n+1))); i = p + vec2( cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(t + i.x) ); c += 1.0/(length(vec2(p.x / ((sin(i.x+t))/inten),p.y / ((cos(i.y+t))/inten))) ); } c /= float(MAX_ITER)*1.6; c = 1.17-pow(c, 1.4); vec3 colour = vec3(pow(abs(c), 8.0)); colour = clamp(colour + vec3(0.2, 0.2, 0.2), 0.0, 1.0); if(positionx.z > 0.){discard;} if(vWorldPosition.y < -200.){discard;} //if(colour.x < 0.1){discard;} gl_FragColor =vec4(colour,0.3+0.4*colour.x); }