Install this theme
I few minutes ago I saw the Vade’s email (https://gist.github.com/vade/5375035) talking about the Quartz Composer’s death. Its a shame. QC makes Apple looks better as a company. A lot of great spectacles in the world are using their technology, a lot of creative people do their work with it. Whats exaclty means “deprecated”? Is the 3th version the last one? I have a lot of expectations in Vuo, but I love QC. It’s hard to think in a world without QC. snif rip
忌々しいLion Quartz ComposerのAuto Saveにお嘆きの皆さん。朗報です。
optionを押しながらメニューのPreferencesをクリックして隠し項目を出します。
(Lionになってからこの項目が出ないことがありますのでその時はQC再起動)
項目(Editor)内の
disableSavelessDocumentsにチェックを入れてください。
誤って上書きしてしまった全てのqtzに黙祷。

忌々しいLion Quartz ComposerのAuto Saveにお嘆きの皆さん。朗報です。

optionを押しながらメニューのPreferencesをクリックして隠し項目を出します。

(Lionになってからこの項目が出ないことがありますのでその時はQC再起動)

項目(Editor)内の

disableSavelessDocumentsにチェックを入れてください。

誤って上書きしてしまった全てのqtzに黙祷。

Cube内にSphereを内包しといて他のcubeと重なった時にだけ見えるみたいなの
http://dl.dropbox.com/u/192885/qtz/depth.qtz

Cube内にSphereを内包しといて他のcubeと重なった時にだけ見えるみたいなの

http://dl.dropbox.com/u/192885/qtz/depth.qtz

あくまで「風」ですが
http://dl.dropbox.com/u/192885/qtz/perlinlike.qtz

あくまで「風」ですが

http://dl.dropbox.com/u/192885/qtz/perlinlike.qtz

配管工として知っておきたいショートカット

1.パッチライブラリーの検索窓に入る cmd+return

2.インクリメンタルサーチ後↑↓キーでパッチ選択 returnで挿入。

3.パッチ選択状態(回りが黄色い)で↑↓←→でパッチ移動。shift押しながらだと大きく動く。

4.マクロパッチ内に入る。cmd+↓

5.マクロパッチから出る。cmd+↑

6.Inspectorを開く。パラメ cmd+1 セッティング cmd+2 パブリッシュ cmd+3

7.settingsを別窓で開く cmd+shift+i

QCはマウス操作が多いんですけど、この辺のショートカットを使うと結構楽だと思います。

例えばIterator内にIterator Valablesパッチを置く操作を例にとると

cmd+returnでパッチライブラリに入る。

iteraくらいまで打つとIterator見えてくるので上下キーで選択returnで挿入。

ここで既にパッチ選択状態になっているので十字キー(+shiftキー)で場所移動。

cmd+↓で内部に入る。

cmd+returnでパッチライブラリに移動。

さっき打った検索結果が残ってるのでそのまま上下キーでIterator Variables選択

returnで挿入。

といった動作をマウス無しで行なえます。

パイプなピークメーター

1IterationあたりCylinderを直角に2つ使いってます。

ただそれだと隙間があくのでSphereを2つ使って埋めてます。

http://dl.dropbox.com/u/192885/qtz/pipes.qtz

じゃあQueueをJSに置き換えるなら

どういう実装が一番良いのか。

たぶんIterator VariablesからIndex とIteration引っ張ってきて、値に変化があった時だけ配列を入れかえるのが良いんじゃないかと思う。

Iteration数が変った時にゴミがのこるのだけ対処してる。

var arr =[];

function (__structure str) main (__virtual val, __index ind, __index itr)

{

if(itr<arr.length) arr=[];

if(arr[ind]!==val) arr[ind]=val;

return {str:arr};

}

returnを最後だけ返すようにするのも良いような無意味なような。

var arr =[];

function (__structure str) main (__virtual val, __index ind, __index itr)

{

if(itr<arr.length) arr=[];

if(arr[ind]!==val) arr[ind]=val;

if(ind + 1 ===itr)return {str:arr};

}


QueueとIteratorでStructure作るってのを

色々やってみたのだけれど、明確な弱点として毎フレーム更新されるってのがあります。

Queueパッチは元々フレーム(イベント?)毎に一個ずつ値を貯めこんでいくパッチなのですが、

これをIterator内で使うことで複数個をまとめて格納しています。

なので一見数値に変化が無い場合でも毎フレーム古い値を追い出して新たに値を貯めています。

数値が常に変化するような処理ではこうしないと値が更新できないですし、Iterationが小さい時はさして問題は無いのですが、

例えばOpenCLでパーティクルを作る際の初期値としてIterator+Queueで数百〜数千のStructureを作る場合、毎フレーム更新すると動作が非常に重くなってしまいます。

こんな場合に最初の1フレーム目でStructureを作って、あとは更新しない機構が欲しくなります。

どうすればいいかというと、QueueのStructure Countを計って規定数に逹っしたら、Fillingをオフにしてやればいいです。

こうすることで、パッチを立ち上げた最初のフレームは負荷がかかりますが、以降は同じStructureを使うのでQueueの更新による負荷は無くなります。