我只是想知道ZBrush中使用的Matcap着色器和雙向輻射分佈函數着色器之間有什麼區別。
這兩種技術是否相同? Matcap是使用BRDF完成的還是他們不同?Matcap和BRDF底紋
回答
這是一個非常好的答案:Matcap and BRDF Shading比-2更有用。但是,我不應該抱怨的是...
假設你指的是雙向反射 分佈函數,一個BRDF無非是看中了名多爲一 大類照明方程。這些函數計算基於兩個方向 (雙向)的表面反射的分佈:入射光的方向和表面的觀察者的方向 。 BRDF方向均以 相對於法線的相對方向來定義,因此 法線實際上是一個隱式參數。
這是一個非常普遍的照明方程。標準 Lambert,Blinn,Phong等等均符合雙向反射分佈函數 。它們都可以通過 指出朝向光線的方向和朝向觀察者的方向。
但是,由於您將其與Matcap進行了比較,我假設您是 ,指的是基於物理的BRDF,而不是所有 BRDF的一般類別。也就是說,通過使用機器 計算的表格生成的BRDF通過改變視圖和光線方向來檢測真實材料的光交互特性。
假設你指的Matcap是這樣的,我 將不得不說,不。至少該特定實現的 Matcap不是。
如果你想特別慷慨,那麼它是一個BRDF。但只有最寬鬆的意義上的 。爲什麼?因爲計算的反射率 不會隨着兩個方向中的任何一個而改變。看看着色器 ;它使用的唯一方向信息是表面 正常。雖然它是一個用於計算顏色的屬性,但從BRDF的角度來看,這是一個常數。
如果您想成爲技術人員,Matcap會使用BRDF。即球體 紋理。這就是照明方程實際是什麼;這就是反射率分佈的基礎上, 的方向。
基於兩個方向的角度,適當的基於物理的BRDF實際上是一個四維查找表 表。 Matcap使用一個 二維查找表,查找並不是真正基於 的視圖或光線方向;只是正常的。 Matcap是 基本上是作弊,使用適當的4D BRDF的單個靜態2D切片。
因此,不是,Matcap不是BRDF,非常類似於使用BRDF的結果 來爲特定像素着色的代碼本身不是BRDF。
- 1. 底紋和matplotlib
- 2. OpenGL和GL_SMOOTH底紋
- 3. Phong底紋vs Tessellation
- 4. Three.js制服底紋
- 5. GL_QUAD_STRIP上的OpenGL照明和底紋
- 6. Blinn-Phong底紋HLSL和D3D11:點光源
- 7. OBJ格式和平VS光滑底紋
- 8. 扁平和phong底紋的問題
- 9. BRDF通常如何實施?
- 10. OpenGL紋理映射禁用底紋
- 11. Three.js忽略片段底紋
- 12. Open GL ES 2.0 Android底紋
- 13. 谷歌地圖底紋 - iOS
- 14. 底紋(或α)由R中
- 15. 團結無底紋「Fullbright」
- 16. 調整底紋的UITabBarItem
- 17. PhoneGap和iPhone 5:刪除頂部和底部黑色條紋
- 18. IBL探針BRDF預集成文物
- 19. LWJGL底紋紋理的rects,如何旋轉蒙版?
- 20. 金屬底紋語言 - FragCoord相當於?
- 21. CSS邊框底紋線填充
- 22. 沒有那麼光滑的底紋
- 23. 類似顏色底紋代碼
- 24. 用於底紋的雙下邊框
- 25. 射線追蹤陰影/底紋僞影
- 26. OpenGL ES - 紋理底部的像素'Interference'
- 27. THREE.js中png紋理頂部和底部的文物v76
- 28. 黑色條紋出現在iphone的頂部和底部6S
- 29. 三角形和Goroud底紋表面法線的插值
- 30. iOS 6 - 處理頂部和底部的黑色條紋