-
rep
for easy to use "shadertoy glsl" to "gem glsl" you can use theses examples here :
https://github.com/danomatika/BangYourHead/tree/master/7.Graphics/10.Shaders/2.ShaderToybasically you have to copy/paste this glsl header code to be compliant with gem :
/////////////////////////start Pd Header // 2015 Sofy Yuditskaya // put all the shadertoy constants here for ease of use uniform vec3 iResolution; // viewport resolution (in pixels) uniform float iGlobalTime; // shader playback time (in seconds) uniform float iTimeDelta; // render time (in seconds) uniform int iFrame; // shader playback frame uniform float iChannelTime[4]; // channel playback time (in seconds) uniform vec3 iChannelResolution[4]; // channel resolution (in pixels) uniform vec4 iMouse; // mouse pixel coords. xy: current (if MLB down), zw: click // changed samplerXX to sampler2D so it would be recognized, you can also change it to samplerCube as needed uniform sampler2D iChannel0; // input channel. XX = 2D/Cube uniform sampler2D iChannel1; // input channel. XX = 2D/Cube uniform sampler2D iChannel2; // input channel. XX = 2D/Cube uniform sampler2D iChannel3; // input channel. XX = 2D/Cube uniform vec4 iDate; // (year, month, day, time in seconds) uniform float iSampleRate; // sound sample rate (i.e., 44100) void mainImage(out vec4 fragColor, in vec2 fragCoord); // changelog for Pd: //running mainImage() from main() // declared Shadertoy's usual variables above // declared iChannel0...3 variables individually void main( ) { mainImage(gl_FragColor, gl_FragCoord.xy); } //paste ShaderToy code below /////////////////////////end Pd Header
-
rep
Works with Pd 0.43.1extended-20110908, G.E.M. 0.93 svn (8 sept too), and natty x86_64.
You did it guido ! Bravo !
And thanks for commenting your code, it help.
Also : it seems that switching masks doesnt work well, only the depth buffer works, I have this warning :0(12) : warning C7532: global type sampler2DRect requires "#version 140" or later 0(12) : warning C0000: ... or #extension GL_ARB_texture_rectangle : enable 0(31) : warning C7531: global function texture2DRect requires "#extension GL_ARB_texture_rectangle : enable" before use
But it may be my fault as I compiled GEM from svn on x86_64, and I'm not sure about gem's compilation options.
-
rep
with this command :
nm -go Gem.pd_linux | grep ' T ' | grep 'setup' | grep -v '_ZN' | sed -e 's/Gem.pd_linux:...................//' | sed -e 's/_setup//'It seems that I get all the objects produced by GEM
for more infos (in french) :
http://codelab.fr/2455 -
rep
Nice thread ! I'm also curious about how to blur specific shapes in G.E.M., my goal is to provide a simple 'depth of field' effect, a kind of blur based on zbuffer.
The 2 solutions I see for now :-
repeat shapes (with [until] or glsl), because once repeated a lot forms could seems to be 'blurred', and more the form is far from the point of view more the shape is repeated
see Gem/examples/10.glsl/10.geometry.pd or Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd -
render a scene to a framebuffer, blur specific parts of the frame with a shader, based on zbuffer...
-