2013年10月25日 星期五

[GLSL]入門-5 用binary(2進制)來繪製點陣圖形


shader是無法載入字體的,但假使有一天我們想要在shader裡面秀出文字,這時候便可以透過,把文字轉成2 維矩陣方塊的方式(點陣字體),載入進shader。

所以在pd程式中,透過2進制去產生要丟進shader的pattern數值,然後才在shader中解譯回2維點陣圖案。並且最後才把圖形繪製在一個旋轉的cube上。


uniform vec2 iResolution;
uniform float pattern;

float bit(float n, vec2 p) {
 p.x=(floor(p.x*5.0));
 p.y=(floor(p.y*5.0));
 float k = (p.x + (5.0*p.y));
        if (int(mod(n/(exp2(k)), 2.0)) == 1){
  return 1.0;
 } else{
  return 0.0;
 } 
 
}
void main()
{
 vec2 uv = gl_FragCoord.xy/iResolution.xy;
 uv.y=1.0-uv.y;
 
 vec2 uv2=mod(uv*5.0,1.0);
 vec3 col2;
 if((uv2.x<0 .95="" uv2.x="">0.05)  && (uv2.y<0 .95="" uv2.y="">0.05) ){
  col2=vec3(1.0,1.0,1.0);
 }else{
  col2=vec3(0.3,0.3,0.3);
 }   
 vec3 col = vec3(bit(pattern, uv)*floor(mod(gl_FragCoord.x/2.0,2.0)) * floor(mod(gl_FragCoord.y/2.0,2.0)));
 gl_FragColor = vec4(col*col2,1.0);
}
shader code


Download

2013年10月20日 星期日

「Pd筆記-65」 [getdir]、[folderpanel] 檔案位置




[getdir],知道檔案目前所在的入徑位置。

[folderpanel],選擇一個新的路徑。


2013年10月17日 星期四

[表演]失聲祭76

http://lsf-taiwan.blogspot.tw/2013/10/lsf76.html

失聲祭 Listen76
2013, October, 19 (Sat) @噪咖
入場時間︱18:30入場 19:00準時開始
入場費︱NT$.150 (含飲料)

暖場藝術家 | Imagination Galaxy
演出者 | 張晏慈 X 沈聖博
演出者 | 王新仁


「跟混種的演出稍稍的不同,加強了GUI的設計,以及繪圖操控。」

[Squaring the circle]
演出時,藝術家透過尺規作圖的方式,在空間中繪製出長寬比恰巧為黃金比例的多種線段。
每條線段都是獨立的發聲物件,並且依其長度決定發聲頻率,最終透過中心點逐一觸發,在時間軸上揚起和諧的幾何之聲。