“VVVV”是一套用于實時視頻合成的工具包,提供了一種方便原型設(shè)計和開發(fā)的圖形編程語言,旨在使對大型媒體環(huán)境的操控更加容易,這些手段包括物理界面,實時影像,能同時與許多用戶互動的音頻和視頻。
“VVVV”功能特色:
1.使用鋪展輕松處理大量對象:
vvvv能夠同時處理大量的對象,不論是圖形或是數(shù)據(jù),用戶并不需要為此付出特別顯著的努力。用vvvv控制單個圖形對象的實例與1000個實例在用戶界面上不會有明顯的差異,我們稱之為”Spreading(鋪展)”。
我們有時要將不同的數(shù)值分配給一組對象中的每個個體,鋪展是對這種行為的一種抽象。設(shè)置一張表,猶如在餐桌上分發(fā)碟子,它們在桌上有不同的位置。vvvv包含很多鋪展生成器,以方便我們?yōu)橐淮蠼M對象編寫復(fù)雜的行為。
2.使用Boygroup的無縫多機(jī)投影技術(shù):
有很多應(yīng)用場合需要使用幾臺PC來達(dá)到需要的輸出屏幕/投影數(shù),單獨(dú)控制這些PC機(jī)很容易把事情搞得一團(tuán)糟。取而代之的是,vvvv可以讓我們很容易地從一臺服務(wù)器上利用Boygrouping技術(shù)控制任意數(shù)量的客戶端計算機(jī)。
Boygroup使我們可以輕松建立多屏系統(tǒng)或者無縫多屏投影。它使我們可以建立渲染集群,我們可以單獨(dú)地挑選哪個節(jié)點(diǎn)在服務(wù)器上跑,哪個在客戶端上跑。它能夠控制哪些數(shù)據(jù)需要在網(wǎng)絡(luò)上傳輸,哪些更適合在所有的客戶端上通過計算得出,這種能力使我們不需要什么魔術(shù)就能夠手動優(yōu)化一個設(shè)置。
3.基于DirectX的三維渲染:
vvvv的3維引擎是基于微軟的DirectX技術(shù)。DirectX是一組用于高性能計算機(jī)圖形的API(應(yīng)用程序接口)。利用現(xiàn)代圖形卡的能力,DirectX讓vvvv的渲染表現(xiàn)能夠接近計算機(jī)游戲的水平。
在將DirectX的特性轉(zhuǎn)譯到vvvv的圖形編程界面時,盡可能地保持了DirectX的術(shù)語。這樣熟悉DirectX編程的人會很容易理解這層外衣下的實質(zhì)。
4.加載3D模型:
盡管vvvv有一些結(jié)點(diǎn)用于創(chuàng)建、計算或修改幾何數(shù)據(jù),但不應(yīng)將它看作一個三維建模工具。讓已有的物體動起來的正確方法是用DirectX自己的.x格式文件導(dǎo)入帶有紋理的模型,幾乎所有的主流3維建模軟件都支持這種格式。除了導(dǎo)入模型,
vvvv提供了標(biāo)準(zhǔn)幾何體如四邊形、柵格、立方體、球體,當(dāng)然還有茶壺。
5.使用動態(tài)圖形或影像對3D模型的紋理:
在vvvv中使用紋理有著很大范圍的選擇。除了傳統(tǒng)的靜止圖像(如bmp,targa,png,dds等),vvvv可以用影像文件、攝像機(jī)輸入或者flash影片做為任何三維物體的貼圖。甚至桌面的一部分都能成為一種紋理,紋理也可以在一個patch中從任意數(shù)據(jù)來實時產(chǎn)生。
6.實時著色編程:
vvvv的像素和頂點(diǎn)著色使用戶能夠完成比通常的3d外表更多的視覺表現(xiàn)。著色程序使你能在顯卡上運(yùn)行程序,著色程序明確了顯卡如何解析發(fā)送給它的每個3d頂點(diǎn),在它上面加載了什么樣的計算,每個像素的顏色又是如何得出的。
7.實時物理模擬:
vvvv中包含了Russel Smith做的ODE,這是一套開源的高性能的庫函數(shù),可以用來模擬剛體動力學(xué)(帶摩擦的碰撞檢測),ODE在模擬運(yùn)載工具、虛擬現(xiàn)實環(huán)境中的物體、虛擬生物和其它很多應(yīng)用中都非常有用。
8.實時視頻分析:
視頻分析結(jié)點(diǎn)是通過freeframe插件體系來實現(xiàn)的,因此可以脫離vvvv獨(dú)立開發(fā)。已有的一些結(jié)點(diǎn)實現(xiàn)了一些不同的跟蹤技術(shù). 如:輪廓捕捉,色彩捕捉,運(yùn)動檢測等。如果這些還不夠,你總可以開發(fā)出訂制的freeframe插件。
9.音頻功能:
vvvv的聲音引擎基于微軟的DirectShow技術(shù),能夠播放絕大多數(shù)格式的音頻文件以及對多個音頻文件進(jìn)行簡單的混音(只要這些文件可以在Windows Mediaplayer中播放)。
所有的帶有WDM驅(qū)動的輸入設(shè)備(也稱為多聲道設(shè)備)都能夠與vvvv配合工作。對很多人來說非常有趣的一件事情是分析輸入的聲音,有多種方法可以得到各個聲道的音量或者通過FFT(傅立葉轉(zhuǎn)換)算法得到不同頻率的音量。
10.與各式各樣的外部設(shè)備和協(xié)議交互的能力:
vvvv具有控制多種第三方設(shè)備的能力,比如DVD播放機(jī)、工業(yè)接口(用于照明和電氣)、觸摸屏、游戲設(shè)備、轉(zhuǎn)盤、定位和定向傳感器、MIDI設(shè)備、DMX接口、串行接口、鍵盤和鼠標(biāo)。
除了與其它計算機(jī)或軟件通訊的底層協(xié)議如TCP、UDP和RS232外,高層的結(jié)點(diǎn)允許通過MIDI、DMX、ArNet、OSC、HTTP和IRC等通訊。
VVVV是圖形及文本混合型編程語言環(huán)境,便于原型設(shè)計及開發(fā),它的設(shè)計初衷為方便處理大型多媒體環(huán)境與物理接口的操控更加容易。其中包括實時動態(tài)影像,能同時與許多用戶產(chǎn)生交互的音頻和視頻能力。其特點(diǎn)在于實時,其它的許多語言對編寫和運(yùn)行等具有很多不同模式,可以免費(fèi)用于非商業(yè)應(yīng)用。
vvvv適用于許多場合,包括常見的計算機(jī)相關(guān)的媒體如音頻、視頻、3維動畫、因特網(wǎng)等等,列舉的只是特別熱門的而已。除了能為上述媒體創(chuàng)作和轉(zhuǎn)換,vvvv也很容易練就接受處理各種輸入并向各種外部設(shè)備產(chǎn)生輸出的能力。