Skip to main content

Creative Coding Art Source Code As you purchase and own this NFT of interactive Art source code, you are authorized to integrate or build upon in personal or commercial projects such as websites, web apps and web templates intended for sale.

//noprotect
const frag = `

	precision highp float;

	uniform vec2 u_resolution;
	uniform vec2 u_mouse;
	uniform float u_time;
	uniform vec3 u_lightDir;
	uniform vec3 u_col;
	uniform mat3 uNormalMatrix;
	uniform float u_pixelDensity;
	uniform sampler2D u_tex;

	//attributes, in
	varying vec4 var_centerGlPosition;
	varying vec3 var_vertNormal;
	varying vec2 var_vertTexCoord;

	float rand(vec2 c){
		return fract(sin(dot(c.xy ,vec2(12.9898,78.233))) * 43758.5453);
	}

	mat2 rotate2d(float _angle){
    return mat2(cos(_angle),-sin(_angle),
                sin(_angle),cos(_angle));
	}

	//	Classic Perlin 3D Noise 
	//	by Stefan Gustavson
	//
	vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x, 289.0);}
	vec4 taylorInvSqrt(vec4 r){return 1.79284291400159 - 0.85373472095314 * r;}
	vec3 fade(vec3 t) {return t*t*t*(t*(t*6.0-15.0)+10.0);}

	float cnoise(vec3 P){
		vec3 Pi0 = floor(P); // Integer part for indexing
		vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1
		Pi0 = mod(Pi0, 289.0);
		Pi1 = mod(Pi1, 289.0);
		vec3 Pf0 = fract(P); // Fractional part for interpolation
		vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
		vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
		vec4 iy = vec4(Pi0.yy, Pi1.yy);
		vec4 iz0 = Pi0.zzzz;
		vec4 iz1 = Pi1.zzzz;

		vec4 ixy = permute(permute(ix) + iy);
		vec4 ixy0 = permute(ixy + iz0);
		vec4 ixy1 = permute(ixy + iz1);

		vec4 gx0 = ixy0 / 7.0;
		vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;
		gx0 = fract(gx0);
		vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
		vec4 sz0 = step(gz0, vec4(0.0));
		gx0 -= sz0 * (step(0.0, gx0) - 0.5);
		gy0 -= sz0 * (step(0.0, gy0) - 0.5);

		vec4 gx1 = ixy1 / 7.0;
		vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;
		gx1 = fract(gx1);
		vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
		vec4 sz1 = step(gz1, vec4(0.0));
		gx1 -= sz1 * (step(0.0, gx1) - 0.5);
		gy1 -= sz1 * (step(0.0, gy1) - 0.5);

		vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
		vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
		vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
		vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
		vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
		vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
		vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
		vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);

		vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
		g000 *= norm0.x;
		g010 *= norm0.y;
		g100 *= norm0.z;
		g110 *= norm0.w;
		vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
		g001 *= norm1.x;
		g011 *= norm1.y;
		g101 *= norm1.z;
		g111 *= norm1.w;

		float n000 = dot(g000, Pf0);
		float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
		float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
		float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
		float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
		float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
		float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
		float n111 = dot(g111, Pf1);

		vec3 fade_xyz = fade(Pf0);
		vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
		vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
		float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); 
		return 2.2 * n_xyz;
	}

	vec2 random2( vec2 p ) {
			return fract(sin(vec2(dot(p,vec2(127.1,311.7)),dot(p,vec2(269.5,183.3))))*43758.5453);
	}


	void main(){
		vec2 st = var_vertTexCoord.xy /u_resolution.xy;
		st.y = 1.0 - st.y;
		vec3 color = vec3(0.);
		float dCenter = distance(st,vec2(0.5));
		//color*=1.-d;
		st*=3.;
		//st.x += sin(log(dCenter)/2.)/5.;
		//st.y += cos(log(dCenter)/2.)/5.0;
		
		float angCenter = atan(st.y-0.5,st.x-0.5);

		st += mod(cnoise(vec3(st*10.,u_time/100.))*5.,1.+sin(st.x))/10.;
	  st += cnoise(vec3(st*20.,u_time/100.))/200.;

		//st.x = cos(angCenter)*dCenter*0.9+0.3;
		//st.y = sin(angCenter)*dCenter*0.9+0.3;
		
		float dd1 = 0.;
		float dd2 = 0.;
		float dd3 = 0.;
		float ang = 0.;
		//vec2 i_st = floor(st*3.);
		for(float i=0.;i<8.;i++){
			for(float o=0.;o<8.;o++){
				
				vec2 point = vec2 (sin(i+u_time/10. )+1.,cos(o+u_time/10.)-0.3)/1.3;
				float d = distance( ( (st-0.5)*rotate2d(i+o/5.)),point);
				vec2 delta = point-( (st-0.5)*rotate2d(i/1.5+o/5.));
				ang  += atan(delta.y,delta.x)/80.;
				dd1+= (sin(i+0.01+ang*1.)+2.)*10./pow(d,0.1) ;
				dd2+= (sin(i+0.01+ang*1.3)+1.)*12./pow(d,0.1) ;
				dd3+= sin(i+0.01+ang*1.8)*12./pow(d,0.1) ;
			}
		}
		color.r+=sin(dd1/10.+ang*5.)*1.05;
		color.g+=sin(dd2/10.+ang*6.);
		color.b+=sin(dd3/10.+ang*7.)*sin(color.r*5.);
		// color.r+=smoothstep(0.+sin(st.x)*20.,500.,dd1 + sin(dd3*0.1)*10.  );
		// color.g+=smoothstep(0. +sin(st.y)*20.,500.,dd2 + sin(dd2*0.15)*20.  );
		// color.b+=smoothstep(0.+sin(st.x)*20.,500.,dd3 + sin(dd1*0.2)*10.  );
		
		// color = color*color/30.;
	  // color.r+=cnoise(vec3(st*50.,u_time/50.))*1.;
	  // color.g+=cnoise(vec3(st*51.,u_time/51.))*1.;
	  // color.b+=cnoise(vec3(st*52.,u_time/52.))*1.;

		color+= cnoise(vec3(st*900.,u_time/100.))/2.;

		gl_FragColor= vec4(color,1.0);
	}
`


Generative Art NFT - Che-Yu Wu collection image

Creative Coding Art Source Code (21 items, Out of Print Collection at 07/20/2021.) Che-Yu Wu is a multidisciplinary new media artist, designer, engineer, and entrepreneur from Taiwan, currently based in New York. With the sensitivity of art and engineering background. He creates generative arts which sampled from nature, physics, modernism art and turn them into algorithmic interactive art machines.

Twitter: https://twitter.com/cheyuwu345 New Media Artist Che-Yu Wu: https://opensea.io/accounts/CheYuWu

Category Art
Contract Address0x495f...7b5e
Token ID
Token StandardERC-1155
ChainEthereum
MetadataCentralized
Creator Earnings
10%

200701 Plasma Planet

visibility
225 views
  • Price
    USD Price
    Quantity
    Expiration
    From
  • Price
    USD Price
    Quantity
    Floor Difference
    Expiration
    From
keyboard_arrow_down
Event
Price
From
To
Date

200701 Plasma Planet

visibility
225 views
  • Price
    USD Price
    Quantity
    Expiration
    From
  • Price
    USD Price
    Quantity
    Floor Difference
    Expiration
    From

Creative Coding Art Source Code As you purchase and own this NFT of interactive Art source code, you are authorized to integrate or build upon in personal or commercial projects such as websites, web apps and web templates intended for sale.

//noprotect
const frag = `

	precision highp float;

	uniform vec2 u_resolution;
	uniform vec2 u_mouse;
	uniform float u_time;
	uniform vec3 u_lightDir;
	uniform vec3 u_col;
	uniform mat3 uNormalMatrix;
	uniform float u_pixelDensity;
	uniform sampler2D u_tex;

	//attributes, in
	varying vec4 var_centerGlPosition;
	varying vec3 var_vertNormal;
	varying vec2 var_vertTexCoord;

	float rand(vec2 c){
		return fract(sin(dot(c.xy ,vec2(12.9898,78.233))) * 43758.5453);
	}

	mat2 rotate2d(float _angle){
    return mat2(cos(_angle),-sin(_angle),
                sin(_angle),cos(_angle));
	}

	//	Classic Perlin 3D Noise 
	//	by Stefan Gustavson
	//
	vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x, 289.0);}
	vec4 taylorInvSqrt(vec4 r){return 1.79284291400159 - 0.85373472095314 * r;}
	vec3 fade(vec3 t) {return t*t*t*(t*(t*6.0-15.0)+10.0);}

	float cnoise(vec3 P){
		vec3 Pi0 = floor(P); // Integer part for indexing
		vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1
		Pi0 = mod(Pi0, 289.0);
		Pi1 = mod(Pi1, 289.0);
		vec3 Pf0 = fract(P); // Fractional part for interpolation
		vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
		vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
		vec4 iy = vec4(Pi0.yy, Pi1.yy);
		vec4 iz0 = Pi0.zzzz;
		vec4 iz1 = Pi1.zzzz;

		vec4 ixy = permute(permute(ix) + iy);
		vec4 ixy0 = permute(ixy + iz0);
		vec4 ixy1 = permute(ixy + iz1);

		vec4 gx0 = ixy0 / 7.0;
		vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;
		gx0 = fract(gx0);
		vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
		vec4 sz0 = step(gz0, vec4(0.0));
		gx0 -= sz0 * (step(0.0, gx0) - 0.5);
		gy0 -= sz0 * (step(0.0, gy0) - 0.5);

		vec4 gx1 = ixy1 / 7.0;
		vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;
		gx1 = fract(gx1);
		vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
		vec4 sz1 = step(gz1, vec4(0.0));
		gx1 -= sz1 * (step(0.0, gx1) - 0.5);
		gy1 -= sz1 * (step(0.0, gy1) - 0.5);

		vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
		vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
		vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
		vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
		vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
		vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
		vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
		vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);

		vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
		g000 *= norm0.x;
		g010 *= norm0.y;
		g100 *= norm0.z;
		g110 *= norm0.w;
		vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
		g001 *= norm1.x;
		g011 *= norm1.y;
		g101 *= norm1.z;
		g111 *= norm1.w;

		float n000 = dot(g000, Pf0);
		float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
		float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
		float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
		float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
		float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
		float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
		float n111 = dot(g111, Pf1);

		vec3 fade_xyz = fade(Pf0);
		vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
		vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
		float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); 
		return 2.2 * n_xyz;
	}

	vec2 random2( vec2 p ) {
			return fract(sin(vec2(dot(p,vec2(127.1,311.7)),dot(p,vec2(269.5,183.3))))*43758.5453);
	}


	void main(){
		vec2 st = var_vertTexCoord.xy /u_resolution.xy;
		st.y = 1.0 - st.y;
		vec3 color = vec3(0.);
		float dCenter = distance(st,vec2(0.5));
		//color*=1.-d;
		st*=3.;
		//st.x += sin(log(dCenter)/2.)/5.;
		//st.y += cos(log(dCenter)/2.)/5.0;
		
		float angCenter = atan(st.y-0.5,st.x-0.5);

		st += mod(cnoise(vec3(st*10.,u_time/100.))*5.,1.+sin(st.x))/10.;
	  st += cnoise(vec3(st*20.,u_time/100.))/200.;

		//st.x = cos(angCenter)*dCenter*0.9+0.3;
		//st.y = sin(angCenter)*dCenter*0.9+0.3;
		
		float dd1 = 0.;
		float dd2 = 0.;
		float dd3 = 0.;
		float ang = 0.;
		//vec2 i_st = floor(st*3.);
		for(float i=0.;i<8.;i++){
			for(float o=0.;o<8.;o++){
				
				vec2 point = vec2 (sin(i+u_time/10. )+1.,cos(o+u_time/10.)-0.3)/1.3;
				float d = distance( ( (st-0.5)*rotate2d(i+o/5.)),point);
				vec2 delta = point-( (st-0.5)*rotate2d(i/1.5+o/5.));
				ang  += atan(delta.y,delta.x)/80.;
				dd1+= (sin(i+0.01+ang*1.)+2.)*10./pow(d,0.1) ;
				dd2+= (sin(i+0.01+ang*1.3)+1.)*12./pow(d,0.1) ;
				dd3+= sin(i+0.01+ang*1.8)*12./pow(d,0.1) ;
			}
		}
		color.r+=sin(dd1/10.+ang*5.)*1.05;
		color.g+=sin(dd2/10.+ang*6.);
		color.b+=sin(dd3/10.+ang*7.)*sin(color.r*5.);
		// color.r+=smoothstep(0.+sin(st.x)*20.,500.,dd1 + sin(dd3*0.1)*10.  );
		// color.g+=smoothstep(0. +sin(st.y)*20.,500.,dd2 + sin(dd2*0.15)*20.  );
		// color.b+=smoothstep(0.+sin(st.x)*20.,500.,dd3 + sin(dd1*0.2)*10.  );
		
		// color = color*color/30.;
	  // color.r+=cnoise(vec3(st*50.,u_time/50.))*1.;
	  // color.g+=cnoise(vec3(st*51.,u_time/51.))*1.;
	  // color.b+=cnoise(vec3(st*52.,u_time/52.))*1.;

		color+= cnoise(vec3(st*900.,u_time/100.))/2.;

		gl_FragColor= vec4(color,1.0);
	}
`


Generative Art NFT - Che-Yu Wu collection image

Creative Coding Art Source Code (21 items, Out of Print Collection at 07/20/2021.) Che-Yu Wu is a multidisciplinary new media artist, designer, engineer, and entrepreneur from Taiwan, currently based in New York. With the sensitivity of art and engineering background. He creates generative arts which sampled from nature, physics, modernism art and turn them into algorithmic interactive art machines.

Twitter: https://twitter.com/cheyuwu345 New Media Artist Che-Yu Wu: https://opensea.io/accounts/CheYuWu

Category Art
Contract Address0x495f...7b5e
Token ID
Token StandardERC-1155
ChainEthereum
MetadataCentralized
Creator Earnings
10%
keyboard_arrow_down
Event
Price
From
To
Date