Skip to content

knupel/Shader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shader

IS my shader collection refactoring for Processing. You find for the shader project, three folder : 'example', 'fx_lab' and 'fx_framework'. all the last research is in 'fx_lab'. In 'fx_framework' is the work around a class FX to manage the shader see below for more information...

shader post fx:
antialiasing fxaa, blur circular, blur gaussian, blur radial, color change, 
datamosh, derivative, dither bayer, flip, grain, grain scatter, haltone dot, 
halftone line, halftone multi, image, level, mask, mix > like photoshop, pixelate, 
posterization, reaction diffusion, split rgb, threshold, warp procedural, warp textural
shader background:
cellular, heart, voronoi, snow... and few other

FX FRAMEWORK

fx_framework can be used to customize background via the glsl shader or to filtering your rendering. there is a collection of background shader and more important collection of post fx filtering. Plus a method to catch the background before the post rendering to incrust it after the filter.

For POST FX the shader available is gaussian blur, circular blur, radial blur, reaction diffusion, change spectrum HSB, RGB slit, dithering, datamosh, grain, halftone, halftone line, scale,warp procedural, warp texture, pixelate... All shaders can be use on a specific PGraphics or on the main rendering, obviously it's faster to use them on main render g.

WARNING

Be careful it's my lab, that can be a mess... so you need to check your brain to come in mine, but i'm pretty you can find a lot stuffes helpful in this BAZAR!

Select target PGraphics

on the first tab select which mode

// int mode_shader = 0; // POST FX on PGrahics > texture
int mode_shader = 1; // POST FX on G
// int mode_shader = 2; // FX BACKGROUND

After you need to activate which filter you want, if you work on g go on tab fx_post_on_g.pde if you want work on an other PGraphics go on tab fx_post_on_tex.pde

for now if you work on g you can inscrust g on your filtering result to do that, make boolean incrust_is = true;laboratory

boolean incrust_is = true;
void filter_g(PImage input, PImage img_1, PImage img_2, PImage pattern_1, PImage pattern_2) {

	boolean with_g = true;
  if(with_g) {
  	// image(movie_input,CENTER);
  	background(input,CENTER);
  	if(incrust_is) fx_inc_copy(g);
  	render_post_fx(g,input,img_1,img_2,pattern_1,pattern_2);
  } else {
  	render_post_fx(input,null,img_1,img_2,pattern_1,pattern_2);
	}
	if(incrust_is) fx_inc(g);
}

post fx

tab setting_fx_post.pde

background fx

on the tab setting_fx_bg.pde

rope library

to use filter and all the tap of rope method you need to download Rope library download

link and source shader and glsl

Wagner shader,David Guan,Raphaël de Courville and always shader toy,sand box,ISF: interactive Shader Format, Alexandre Rivaux.

setup

In setup() select your mode 0, 1 or 2 depend if you want work on background shader or on post fx on g (g is the main PGraphics of Processing) or on your own PGgraphics

movie command

forward ARROW RIGHT

rewind ARROW LEFT

to increment read speed, use mutti press on ARROW RIGHT or ARROW LEFT

sound up ARROW UP

sound down ARROW DOWN

movie pause SPACE

command

enable incrustation : i only with fx_pos_on_g

result

blur radial blur gaussian blur circular grain scatter pixelate warp procedural split rgb split rgb warp texture split rgb warp procedural halftone dot halftone multi change colour B change colour A reaction diffusion dither bayer 8 threshold datamosh post incrustation mask posterization cellular heart voronoi hex