基於Maxmspjitter的基礎【pixel shader】繪製模板Patcher
阿新 • • 發佈:2021-06-28
間斷性接觸Maxmspjitter已經有6個年頭了,是時候總結一些常用的、基礎的知識以及它的應用,不過筆者自認為還是處於初學者階段,望高人多多指教。
開始
這一次就以jitter模組中通用處理影象節點jit.gl.pix
來切入,寫一個基礎模板樣例供參考學習,針對編寫pixel shader的,如下:
節點很清楚,需要基於Opengl渲染的jit.world
,還有jit.matrix
作為jit.gl.pix
的輸入源,也就是fragment片元資訊,畫素矩陣。需要注意的是,jit.gl.pix
是需要有bang
來時刻驅動的,因此這裡我直接沿用了jit.world
節點上的{render draw bang}輸出口來驅動jit.gl.pix
而
jit.world
需要開啟訊號,即@enable屬性至1,,或是加一個toggle開關賦予也行,並且我賦floating也為1,讓其視窗永遠在上面浮現,最終的節點連線如下圖所示:在
jit.gl.pix
節點中隨便使用者使用節點連線還是文字編寫,我採用了文字編寫方式,即使用CodeBox模組
【jitter強就強在可以兩者結合巢狀著程式設計】,如下:其中的
in 1
、out 1
分別代表輸入的畫素陣列物件和輸出的畫素物件fragment color
。其中的程式碼意圖在此不去展開。這樣一來world視窗中就可以見到最終渲染的畫面了。
結束
很顯然,Maxmspjitter提供給使用者一個視覺化的程式設計環境,用於創意程式設計,它極大可能的允許使用者自定義效果,幾乎可以在此框架上再搭建框架,功能性沒有任何侷限,同時又能大幅度降低開發學習的成本和是錯成本,一切變得“可看”、“可變”、“可愛”。當然這例是使用jit.gl.pix
更多的shader知識和例子我們下次再聊!