現状
簡単なVJ的なことがしたくて、processingからプロジェクターでフルスクリーン投影することを考えているのですが、
filter(BLUR) を使っている為、フルスクリーンにしてみると解像度が上がった分、高負荷になり処理落ちしてしまいます・・。
noSmoothにして、P2Dで実行してみても大して効果がない様です。
(現在は size(1024, 600)でテストしているのですが、プロジェクタの解像度(1920,1080)にすると処理落ちします。)
実現したいこと
そこで解像度を上げずに無理やりフルスクリーンに引き伸ばして拡大表示することができないかと思ったのですが、そのようなことは可能でしょうか?
(拡大表示されるかわりに画質が荒くなるイメージ)
プレゼンテーションモードで画面真ん中に小さなスケッチで行うことも一つの手ではありますが、レイアウトが不自然になってしまうのでできれば避けたいです。
やはり重さの原因はfilter(BLUR)にあるのでこれをやめるべきでしょうか・・?
(難しければプロジェクターの解像度設定など、ハード側での解決も考えようと思います。)
ご教授いただけましたら幸いです。
該当のソースコード
processing
1import ddf.minim.analysis.*; 2import ddf.minim.*; 3 4Minim minim; 5AudioInput in; //オーディオ入力 6FFT fft; //FFTクラス 7 8float e = 0; 9 10void setup() { 11 colorMode(RGB, 256); 12 //fullScreen(); 13 //size(1920, 1080); 14 size(1024, 600); 15 16 minim= new Minim(this); 17 in = minim.getLineIn(Minim.MONO, 512); 18 19 //FFTを新規に行う 20 fft = new FFT(in.bufferSize(), in.sampleRate()); 21 fft.window(FFT.HAMMING); 22 23 noCursor(); 24 background(0); 25 noStroke(); 26} 27 28void draw() { 29 fadeTowhite(); 30 31 fft.forward(in.mix); 32 33 e = fft.getBand(5)*50; 34 35 fill(256, fft.getBand(0)*1000); 36 ellipse(width/4, height/2, e*4, e*4); 37 38 fill(256, fft.getBand(20)*1000); 39 ellipse(width/2, height/2, e*random(4, 4.7), e*random(4, 4.7)); 40 41 fill(256, fft.getBand(50)*1500); 42 ellipse(width*3/4, height/2, e*4, e*4); 43 44 filter(BLUR, 1); 45} 46 47void fadeTowhite() { 48 fill(0, 7 ); 49 noStroke(); 50 rectMode(CORNER); 51 rect(0, 0, width, height); 52} 53 54void stop() { 55 minim.stop(); 56 super.stop(); 57} 58
試したこと
noSmooth
P2Dで実行
詳細設定で有効な最大メモリを増やす。(効果不明)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/20 04:39