找回密碼
 注冊帳號

掃一掃,訪問微社區

渲染升級細節

2015-1-8 18:14| 發布者: 楊炎| 查看: 3042| 評論: 0|原作者: 蠻牛|來自: unity3d腳本manual

摘要: 渲染升級細節unity 3 進行了許多圖形相關的更改,某些事項有必要在升級現有的 unity 2.x 工程時進行調整。如需了解著色器的相關更改,請參閱著色器升級指南。向前渲染路徑更改unity 2.x 擁有一個渲染路徑,在 unity ...

渲染升級細節

unity 3 進行了許多圖形相關的更改,某些事項有必要在升級現有的 unity 2.x 工程時進行調整。如需了解著色器的相關更改,請參閱著色器升級指南。

向前渲染路徑更改

unity 2.x 擁有一個渲染路徑,在 unity 3 中稱為向前 (forward)。與 unity 2.x 相比,這部分有了重大改變:

最常見的情況(一個方向逐像素燈)是現在用單程 (one pass) 繪制!(以前是雙程)

不支持點光源和聚光燈陰影。只有一個方向燈可以投射陰影。如果需要更多陰影,請使用延遲照明 (deferred lighting)。

大部分“頂點 (vertex)” 燈替換為球面諧波照明。

向前渲染路徑現在完全基于著色器,所以可以在 opengl es 2.0、xbox 360、ps3(如不支持固定功能渲染的平臺)上工作。

著色器更改

請參閱表面著色器 (surface shaders)。

沒人會注意到的圖形卡模糊變化 (obscure graphics changes that no one will probably noticetm)

已刪除 mac radeon 9200 像素著色器支持(!!atifs程序集著色器)。

已刪除對前 shadermodel2.0 硬件的逐像素照明支持。因此,diffuse fast 著色器現在只是頂點照明 (vertexlit)。

已刪除不衰弱燈光。所有點光源和聚光燈現都已衰弱。

已刪除腳本回調:onprecullobject和renderbeforequeues屬性。

已刪除基于 p 緩沖區的 rendertextures。opengl 上的 rendertextures 現在要求 fbo 支持。

大部分pass lightmode 標簽都已消失,并替換上新標簽。無論如何,用戶一般應使用表面著色器 (surface shaders)進行。

紋理 instanceid 不再是 opengl 紋理名稱。可能影響依賴它們的 c++ 插件,請使用texture.getnativetextureid()。

將著色器關鍵字 shadows_native 重命名為 shadows_depth,shadows_pcf4 重命名為 shadows_soft。

已刪除受 8 個以上頂點燈影響對象的環境增強效果。

已刪除_objectspacecamerapos和_objectspacelightpos0(新增_worldspacecamerapos和_worldspacelightpos0)。

著色器紋理屬性中的lightmapmode標簽現已不起作用。

天空盒著色器不寫入深度緩存。

grabpass(如折射玻璃著色器)現在始終抓取屏幕大小的紋理。

#pragma multi_compile_vertex和#pragma multi_compile_fragment消失。

shaderlab 中的多邊形偏移無法再引用變量(如offset [_var1], [_var2])。

將transfer_eyedepth/output_eyedepth重命名為unity_transfer_depth/unity_output_depth。它們也在 unity 3 的 float2 中起作用。

已刪除特殊著色器的 pass 類型:r2tpass、offscreenpass。

已刪除_light2world0、_world2light0內置著色器矩陣。

已刪除 _sceneambient、_multimodelambient、_multiambient、_modelambient、_multiplyfog、_lighthackeddiffuse0、_objectcentermodellightcolor0 內置著色器矢量。

已刪除_firstpass內置著色器浮點。

陰影文件中的霧模式無法來自變量(如fog { mode [_myfogmode] })。如需使用全局霧模式,請寫入fog { mode global }。

已從 shaderlab 中刪除blendcolor顏色。

已刪除著色器屬性中的說明紋理矩陣按值支持。

已刪除“靜態 (static)” 著色器屬性支持。

已刪除紋理邊框顏色支持 (rendertexture.setbordercolor)。

已刪除colormaterial ambient, diffuse, specular支持(剩下 colormaterial ambientanddiffuse 和 emission)。對已刪除項的支持根據平臺造成的混亂情況的不同而有較大差異,但這些似乎并沒有太大用處。

內置_cameratoworld和_worldtocamera矩陣現在將按期望工作。之前,它們只包含轉動部分,全球相機在 y 軸上翻動。我們也不知道是怎么回事 :)

已刪除shader.clearall()。2007 年開始棄用,可以不再關注。

頂點著色器現已編譯至 shader model 2.0(以前為 1.1)。如果想編譯至 sm1.1,請在著色器中新增#pragma target 1.1。

相關閱讀

文章點評
相關文章
女校游泳队彩金 快乐时时彩 英雄联盟小说 彩发发1.1安卓系统8 号百彩票 k拾开奖直播 dota2脱兔比分网 亿游彩票苹果 贵州快三 3d走势图5oo期 足球任选9场的窍门 39彩票网址 新疆时时彩 中国石化股票 云客赞怎样赚钱 928彩票游戏 体球比分直播网 850通比牛牛顺序排列