最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity-使用深度紋理

2021-04-16 09:26 作者:unity_某某師_高錦錦  | 我要投稿

可創(chuàng)建渲染紋理來(lái)使每個(gè)像素包含一個(gè)高精度深度 (Depth)?值。這主要用于某些效果需要使用場(chǎng)景深度的情況(例如,軟粒子、屏幕空間環(huán)境光遮擋和半透明全都需要場(chǎng)景深度)。圖像效果也經(jīng)常使用深度紋理。

深度紋理中的像素值介于 0 和 1 之間,具有非線性分布。精度通常為 32 或 16 位,具體取決于所使用的配置和平臺(tái)。從深度紋理讀取時(shí),將返回 0 到 1范圍內(nèi)的高精度值。如果您需要獲取與攝像機(jī)之間的距離或其他 0 到 1 之間的線性值,請(qǐng)使用 helper 宏手動(dòng)進(jìn)行計(jì)算(見(jiàn)下文)。

大多數(shù)現(xiàn)代硬件和圖形 API 都支持深度紋理。下面列出了特殊要求:

  • Direct3D 11+ (Windows)、OpenGL 3+ (Mac/Linux)、OpenGL ES 3.0+ (Android/iOS)、Metal (iOS) 和游戲主機(jī)(如 PS4/Xbox One)全都支持深度紋理。

  • OpenGL ES 2.0 (iOS/Android) 要求存在?GL_OES_depth_texture?擴(kuò)展。

  • WebGL 要求存在?WEBGL_depth_texture?擴(kuò)展。

深度紋理著色器 helper 宏

大多數(shù)情況下,深度紋理用于渲染距離攝像機(jī)的深度。在此情況下,UnityCG.cginc include 文件包含的一些宏可以處理上述復(fù)雜問(wèn)題:

  • UNITY_TRANSFER_DEPTH(o):計(jì)算頂點(diǎn)的眼睛空間深度并將其在?o?中輸出(必須是 float2)。當(dāng)渲染到深度紋理時(shí),在頂點(diǎn)程序中使用此宏。在具有本機(jī)深度紋理的平臺(tái)上,此宏完全不執(zhí)行任何操作,因?yàn)?Z 緩沖區(qū)值是隱式渲染的。

  • UNITY_OUTPUT_DEPTH(i):從?i?返回眼睛空間深度(必須為 float2)。當(dāng)渲染到深度紋理時(shí),在片元程序中使用此宏。在具有本機(jī)深度紋理的平臺(tái)上,此宏始終返回零,因?yàn)?Z 緩沖區(qū)值是隱式渲染的。

  • COMPUTE_EYEDEPTH(i):計(jì)算頂點(diǎn)的眼睛空間深度并將其在?o?中輸出。當(dāng)__不__渲染到深度紋理時(shí),在頂點(diǎn)程序中使用此宏。

  • DECODE_EYEDEPTH(i)/LinearEyeDepth(i):通過(guò)深度紋理?i?給出高精度值時(shí),返回相應(yīng)的眼睛空間深度。

  • Linear01Depth(i):通過(guò)深度紋理?i?給出高精度值時(shí),返回相應(yīng)的線性深度,范圍在 0 到 1 之間。

__注意:__在 DX11/12、PS4、XboxOne 和 Metal 中,Z 緩沖區(qū)范圍是 1 到 0,并定義了 UNITY_REVERSED_Z。在其他平臺(tái)上,范圍是 0 到 1。

例如,以下著色器將渲染其游戲?qū)ο蟮纳疃龋?/p>


Unity-使用深度紋理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
安福县| 建阳市| 博白县| 广昌县| 那曲县| 久治县| 新民市| 繁峙县| 财经| 仪陇县| 武陟县| 长武县| 合川市| 来宾市| 新巴尔虎左旗| 兰考县| 内丘县| 丁青县| 嵊泗县| 湘潭县| 台南县| 阳西县| 温州市| 平塘县| 湘潭市| 淮安市| 翼城县| 拉孜县| 洛南县| 泰和县| 闸北区| 西畴县| 大兴区| 读书| 德钦县| 牙克石市| 宁德市| 昆明市| 鹤壁市| 内黄县| 策勒县|