View allAll Photos Tagged glsl
Made with (codename) Flint, a C++ framework being developed by The Barbarian Group.
Assignment: Create a couple sample applications that implement OpenGL lighting and GLSL lighting.
A draggable point light source (easily toggled to directional) moves through an invisible grid of spheres. As the light gets close to a sphere, it becomes visible and sets its radius to be proportional to the distance from the light source. Shows off the differences between ambient, diffuse, specular and emissive.
Made with (codename) Flint, a C++ framework being developed by The Barbarian Group.
Assignment: Create a couple sample applications that implement OpenGL lighting and GLSL lighting.
A draggable point light source (easily toggled to directional) moves through an invisible grid of spheres. As the light gets close to a sphere, it becomes visible and sets its radius to be proportional to the distance from the light source. Shows off the differences between ambient, diffuse, specular and emissive.
#ifdef GL_ES
precision mediump float;
#endif
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;
/* -- originally --
* inspired by www.fractalforums.com/new-theories-and-research/very-simp...
* a slight(?) different
* public domain
*/
// this version keeps the circle inversion at r=1,
// but the affine transform is variable:
// user controls the rotate and zoom,
// translate automatically cycles through a range of values.
#define N 100
#define PI2 6.2831853070
void main( void ) {
// map frag coord and mouse to model coord
vec2 v = (gl_FragCoord.xy - resolution / 2.) * 20.0 / min(resolution.y,resolution.x);
// transform parameters
float angle = time*0.01;
float C = cos(angle);
float S = sin(angle);
vec2 shift = vec2( 2.*mouse.x-1., 1.*mouse.y-0.5 );
float zoom = 1.1;
const float rad2 = 1.;
float rsum = 0.0;
for ( int i = 0; i rad2 ){
rr = rad2/rr;
v.x = v.x * rr;
v.y = -v.y * rr;
}
rsum = max(0.9*rsum, rr);
// affine transform: rotate, scale, and translate
v = vec2( C*v.x-S*v.y, S*v.x+C*v.y ) * zoom + shift;
}
float col = 10. * (1.-rsum*rsum*rsum*rsum) ;// / rad2);
gl_FragColor = vec4( sin(col*1.1), sin(col), sin(col*0.9), 1.0 );
}
It took me forever, but I actually seem to have an extremely rudimentary depth-of-field-type-of-thing working in GLSL and Cinder. This is good.
Using diffuse, bump, and normal maps from FilterForge is a great way to learn more about the nuance of using GLSL shaders. In this example, which I hope to post a vide of shortly, I am using the live webcam feed as a reflectivity map on this mass of oil and foam. The geometry of the project consists of a single quad. All of the visuals are being done on a single frag shader and runs fullscreen (with audio reactivity as well) in realtime.
Video on Vimeo: www.vimeo.com/7874474
A round black void swallowing up a picture from a recent trip.
Programmed in Processing and GLSL.
View more: MY WEBSITE | BEHANCE | SAATCHI ART | TWITTER
In the sense of etiquette, the King's Levée was a court ceremony, that was modeled on Louis XIV at Versailles. Normally, it started the day of the Monarch, who rose in the State Bedchamber, and would be observed by physicians, court favorites, and the Kingdom's important male aristocrats and ministers. In this time, King was wipe washed, Shaved, hair combed, dressed, and then embellished with accessories, by his household and key members of the court. During this time, and while he sat to have his breakfast, the King would receive homages, news from hos ministers, and male presentees who were new the court.
When Whitehall Palace burned in 1698, the Court left for the much smaller residences at Kensington Palace, and St. James's Palace. William III of England saw the break down of such formalities and strict etiquette, as he was a private, quite man, used to the ways he was accustomed to the Netherlands. The lack of Space also made these often elaborate ceremonies, impossible to conduct in front of the entire court. And lastly, with the departure of the government from the Royal roof to Westminster Palace, the Levée became a bulletin for news to the King, rather than a conduct of business.
By the time we reached the reign of George III, the Levée ceremony was achieved its current from, quite different from its original purpose. The King, already fully dressed, would receive the ministers and hear about the governmental news of the day. Small conversations would occur, and the day was planned accordingly but mostly these meetings were all male and for government alone.
messin' around with @adamferriss's sharpen feedback code. #openframeworks
adamferriss.tumblr.com/post/75646831308/heres-a-link-to-t...
This is the view from inside of one of the "pores" on Tom Beddard's 'Organism' 3D Fractal. (see previous image in my stream)
Completely amazing.
I had to go there
Made with (codename) Flint, a C++ framework being developed by The Barbarian Group.
Assignment: Create a couple sample applications that implement OpenGL lighting and GLSL lighting.
A draggable point light source (easily toggled to directional) moves through an invisible grid of spheres. As the light gets close to a sphere, it becomes visible and sets its radius to be proportional to the distance from the light source. Shows off the differences between ambient, diffuse, specular and emissive.
Interactive: glsl.heroku.com/e#14115.4
#ifdef GL_ES
precision mediump float;
#endif
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;
// this version keeps the circle inversion at r=1,
// but the affine transform is variable:
// user controls the rotate and zoom,
// translate automatically cycles through a range of values.
#define N 100
#define PI2 6.2831853070
void main( void ) {
// map frag coord and mouse to model coord
vec2 v = (gl_FragCoord.xy - resolution / 2.) * 20.0 / min(resolution.y,resolution.x);
// transform parameters
float angle = PI2*mouse.x;
float C = cos(angle);
float S = sin(angle);
vec2 shift = vec2( 2.*mouse.x-1., 4.*mouse.y-2. );
float scale = 2.5;
float rad2 = 1.;
float rsum = 0.0;
for ( int i = 0; i < N; i++ ){
// circle inversion transform
float rr = v.x*v.x+v.y*v.y;
if ( rr > rad2 ){
rr = rad2/rr;
v.x = v.x * rr;
v.y = -v.y * rr;
}
rsum =max(rr, rsum);
// affine transform: rotate, scale, and translate
v = vec2( C*v.x-S*v.y, S*v.x+C*v.y ) * scale + shift;
}
float col = rsum * (1000.0 / float(N) / rad2);
gl_FragColor = vec4( cos(col*1.8), cos(col*1.9), cos(col*2.2), 1.0 );
}
This is a 3d fractal based on Dodecahedron symmetries. These structures, called "Kaleidoscopic IFS" systems are amazing, and can be rendered and displayed in real time on a computer with a video graphics card.
I created the image using Fragmentarium which is an "IDE" (integrated development enviroment) for exploring and for editing programs that generate 2D and 3D fractals.
I have been working on improvements to coloring of the surfaces. Not quite there yet, but making some progress.
Using diffuse, bump, and normal maps from FilterForge is a great way to learn more about the nuance of using GLSL shaders. In this example, which I hope to post a vide of shortly, I am using the live webcam feed as a reflectivity map on this mass of oil and foam. The geometry of the project consists of a single quad. All of the visuals are being done on a single frag shader and runs fullscreen (with audio reactivity as well) in realtime.
Video on Vimeo: www.vimeo.com/7874474
It took me forever, but I actually seem to have an extremely rudimentary depth-of-field-type-of-thing working in GLSL and Cinder. This is good.
A round black void swallowing up a picture from a recent trip.
Programmed in Processing and GLSL.
View more: MY WEBSITE | BEHANCE | SAATCHI ART | TWITTER