Lucose wrote:
Render 是...(恕刪)
文章看清楚......
Render的意思就是把設定好的東西算成圖,所以除了一般的Render,在Viewport看到的也算是Render。
Render成圖片/影片一定要用CPU。
用顯示卡Render只能看看,其品質還有精確度是沒有辦法跟傳統的Render比。
除非GPU全面開放,加上有軟體支援,把GPU當CPU用,不然顯示卡是不可能做完整的Render。
還有,我指的扯太多是你的文章後面那一串。後面的整理不是針對你。
cassatte wrote:
文章看清楚........(恕刪)
謝謝您深入的解說,不過您新的回覆提到一個重點沒出現在上一個回覆裡的:
在Viewport看到的也算是Render
目前大部分的 3D CAD 軟體都支援 viewport 由 GPU hardware render 來加速顯示速度(目前已經做到接近 CPU rendering 的品質了),不只 3D CAD,連用於電路板與 IC 設計的軟體都有這項功能,完稿當然是由 CPU 來算,這部份毋庸置疑。
樓主也已經出面說明了,所以話題就此打住,感謝您沒有針對我,我也了解您是真的深入了解 3D 相關的 domain knowledge,peace。。。。

樓樓下會用真多軟體,但是會用那麼多軟體,又能證明什麼?許多小廣告公司的美工,終其一生只會用軟體,軟體背後的原理都不清楚,他們會的可不少呢!
Render Shader 都是借用過來的名詞,所以根本沒有一個精準的定義,或許樓樓下也應該看看別人寫的解釋吧?懶得找?不用找?我還是幫你貼一下吧!
Render, Wikipedia
Shader

在這邊看到真多不可思議的內容

在這邊稍為題一下好了,反正只是討論,沒有特別針對什麼。
首先立體視覺成像的應用程式介面就有DirectX以及openGL這兩種,DirectX通常是遊戲用途,遊戲軟體成像使用到的物件都是Pre-production的東西,這些東西都是靠遊戲引擎事先把遊戲內容製作完成(這意味著遊戲物件精度受限於遊戲引擎的檔案以及內容)接著讓顯示卡進行"模型顯示"、"著色"、"貼圖","打光"的程序產生即時的視覺運算影像,充其量只是Real time Shading,顯示硬體的進步可以讓軟體程式引擎的內容製作有更豐富的展現;如果真的讓遊戲中的場景零件逆向回到繪圖軟體作完整的Rendering,結果絕對會比顯示卡的軟體工作好很多,這是必然的,顯示卡在DirectX API只有能力作Pre-production的task,這種工作方式可以讓不同的顯示硬體在顯示內容物件時可以有彈性的相容性以及根據硬體支援程度產生不同的視覺效果,這樣子的做法可以讓各種不同的顯示硬體都能據有執行程式的能力,畫面顯示的視覺效果受遊戲引擎以及執行硬體的軟體支援程度影響,By all means都是Pre-production的內容。
另外一方面openGL的部份應用多是動畫、設計、工業製造等用途,最主要的目的是正確顯示工作中物件內容,特別是線段顯示正確性以及著色顯示的正確顯示,特別是曲面造型居多的設計,包含:汽車、造船以及飛機或者產品設計這方面的工作,正確顯示是最重要的,專業繪圖卡在線段顯示這方面的能力非常強,特別是大量線段的正確顯示以及openGL線性反鋸齒的支援能力(你不會希望現搞的線段顯示很詭異吧,比如顏色不對、性能不好或者閃爍,更誇張是出現原本沒有的線段),至於曲面著色顯示的部份特別是針對曲面造型的曲面連續性以及預設光源進行軟體著色漸層以及高光來檢視曲面品質,這些顯示工作都只是Diagnostic Shading,以Alias studiotools12版本開始支援硬體上色功能,支援透明著色,頂點光源以及像素著色引擎,支援openGL1.5以上的硬體,在爾後的13.5版本(Autodesk併購後)以及現行的2008都擴大支援openGL2.0,讓支援的硬體有更好的支援性以及顯示效果;真正的Production Rendering在目前顯示卡是做不到的,在動畫軟體的部份類似,只是很多都有Interacted Drawing(或者直接進行IPR Rendering,進行Former Production 的檢示),特別是需要貼圖同步處裡的狀況,就算Redraw Texture最多只能確定圖片貼入場景的正確與否,在MAYA或者是3DMAX掛上Quadro專用的MAXEXTREME最多是讓顯示卡在這方面的工作性能更好,準確性有所保證,顯示卡的工作只是作Shading以及Texture Drawing而已,這些都是基本的工作檢示,就算是在Alias有所謂的Hardware Shading的工作最多只是讓顯示卡能夠在軟體設定的顯示條件下做出模擬的著色顯示,可以進行,顯示的表現能力距離Production Rendering還非常遙遠,但已經可以作為設計過程中重要的檢視過程。
特別提到某些遊戲是使用openGL API,像是id的遊戲軟體,基本工作模式與D3D近似,但 openGL的視覺效果以及硬體的支援與D3D有一段差異,特別聲明:顯示卡只能做軟體著色即時顯示,無法進行算圖工作,而且顯示卡顯示效果受限於硬體架構,而且面對軟體內定越複雜的場景以及高解析度,需求顯示記憶體及顯示單元的硬體效率越來越高。
GPU(Graphic Process Uint)是由nVidia在2000年第一款Geforce提出的名詞,當時是由於把繪圖管線以及材質、光源引擎硬體畫整合的單元,爾後ATI也提出GPU的概念,但與NV宣稱的技術與內容不盡相同。
最後提到Rendering的部份,Rendering會因為Rendering引擎關係徹底產生完全不同的效果,最簡單的引擎有Raycast,進步一點的有Raytracer,更不用談其他的Vray,mental ray, final render等等Rendering引擎,這些引擎都包含有光源、著色、貼圖、物理計算、反鋸齒,以及各自的演算法,而且不同Rendering引擎最後結我會有很大的不同,把螢幕顯示繪圖軟體或者是遊戲軟體的影像畫面直接當成是Rendering無疑是概念不清,最重要的是許多繪圖軟體中的物件是不會在最後的Production Rendering顯示出來。
而rendering最後都靠CPU來完成,舉凡動畫或者電影特效都是事先設定key frame或者特效處裡過後一張一張讓Cpu最後完成工作,Production Rendering已經是工作的尾聲。
render/shade/draw都是動詞,Rendering/Shading/Drawing都是名詞,請注意辭性以及用法,另外就是沒有任何軟體會大剌剌的把Hardware Shading/Drawing就直接弄成Hardware Rendering來搞笑,至少本人使用Pro/e UG ALIAS MAYA 3DMAX都沒有看過有這種東西。
至於PC/MAC應該都與UNIX的專業工作站沒得比,絕大部分的立體軟體的環境都還是以windows居多,在這方面是既定成俗,而apple硬體搭上win根本沒有這個問題,要提特例難道要舉Dell的moblie workstation嗎?這產品的定位本來就明確屬於設計製造用途,對於一般用途的PC或者MAC來說,做這方面的工作會遜色很多,但是如果是Mac book PRO或者是搭配較好的獨立顯示筆電要進行這工作差異根本就不大,差異只是OSX在軟體的部份支援幾乎很少,要用MAC也只能改用WIN來作業。
某些關鍵字請不清楚的人特別去查詢:
openGL
API
Shading
rendering
Hardware Shading
Interacted Drawing
IPR Rendering
Diagnostic Shading
GPU
以上文章是看文章快要吐血緊急打的一篇文章,還有很多方面的內容根本來不及多談,特別是一般遊戲卡以及專業繪圖的差異點,同樣的硬體但是韌體以及驅動程式不同導致使用目的以及產品定位價格大相逕庭。
這篇文章應該可以解決整串討論的謬誤

內文搜尋

X