chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何生成具有硬陰影的完全光線追蹤場(chǎng)景

Dbwd_Imgtec ? 來(lái)源:Imagination Tech ? 作者:Imagination Tech ? 2022-04-06 12:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在任何視覺(jué)圖形的場(chǎng)景中,為了讓用戶獲得更真實(shí)的體驗(yàn),陰影往往發(fā)揮著重要作用。不過(guò),它們長(zhǎng)期以來(lái)一直是實(shí)時(shí)應(yīng)用程序中在速度和質(zhì)量方面最難完成的功能之一。隨著硬件的改進(jìn)和硬件加速光線追蹤技術(shù)的普及,開(kāi)發(fā)人員獲得了比以往任何時(shí)候都更準(zhǔn)確、更快地渲染陰影的能力。在Imagination,我們相信光線追蹤在未來(lái)實(shí)時(shí)渲染中的潛力,并一直在尋求可能的界限突破。這篇博文將簡(jiǎn)要介紹如何生成具有硬陰影的完全光線追蹤場(chǎng)景,以及Khronos Vulkan光線追蹤擴(kuò)展的高級(jí)概述。對(duì)于那些已經(jīng)閱讀了我們之前《Vulkan中的環(huán)境遮擋》的讀者來(lái)說(shuō),這是很好的后續(xù)內(nèi)容,從完全通過(guò)光柵化的光照技術(shù)到現(xiàn)在使用完整的光線追蹤。正如《Vulkan中的環(huán)境遮擋》一樣,我們的PowerVR SDK中有一個(gè)完全光線追蹤硬陰影的代碼示例,您可以在空閑時(shí)間探索。

當(dāng)前的陰影技術(shù)

在過(guò)去十年中,實(shí)時(shí)渲染陰影的流行方法是使用陰影貼圖。這是場(chǎng)景從光源視角再次渲染到離屏深度緩沖區(qū)(稱為陰影貼圖)的地方,然后在著色過(guò)程中對(duì)陰影貼圖進(jìn)行采樣,以使用深度比較計(jì)算可見(jiàn)性。雖然這種方法已經(jīng)成功地應(yīng)用于許多應(yīng)用中,但它也有一些缺點(diǎn)。

最常見(jiàn)的問(wèn)題是陰影鋸齒——這是在陰影貼圖的分辨率過(guò)低的地方,導(dǎo)致出現(xiàn)塊狀陰影。雖然可以通過(guò)使用更高分辨率的陰影貼圖來(lái)解決,但會(huì)增加內(nèi)存占用和帶寬利用率,可能會(huì)對(duì)性能產(chǎn)生負(fù)面影響,尤其是在移動(dòng)設(shè)備上。即使使用更高分辨率的陰影貼圖,某些微觀細(xì)節(jié)也很難保留,這要后續(xù)的屏幕空間陰影通道來(lái)細(xì)化。但是,在使用光線追蹤時(shí),可以在屏幕上為每個(gè)像素分配一條光線,這將產(chǎn)生像素完美的硬陰影。

光線追蹤管線

光線生成

當(dāng)在命令緩沖區(qū)調(diào)用 vkCmdTraceRaysKHR ,將為當(dāng)前綁定的光線追蹤流水線調(diào)用用戶定義的光線生成著色器。追蹤光線的命令允許開(kāi)發(fā)人員為調(diào)度的線程設(shè)置各種參數(shù)。我們的演示是完全光線追蹤的,這意味著最好為屏幕上的每個(gè)像素分配一個(gè)光線生成著色器線程。

每次調(diào)用光線生成著色器都必須指定將主光線發(fā)射到場(chǎng)景中所需的變量。光線需要有原點(diǎn)(視點(diǎn))和行進(jìn)方向??梢酝ㄟ^(guò)將逆視圖矩陣應(yīng)用于(0,0,0,1)來(lái)計(jì)算原點(diǎn)。要計(jì)算方向,需要當(dāng)前像素的屏幕空間位置??梢允褂?gl_LaunchIDEXT 從光線生成著色器查詢分派坐標(biāo)。使用此內(nèi)置擴(kuò)展,屏幕空間坐標(biāo)和光線方向可以按如下方式計(jì)算:

const vec2 pixelCenter = vec2(gl_LaunchIDEXT.xy) + vec2(0.5);const vec2 inUV = pixelCenter / vec2(gl_LaunchSizeEXT.xy);vec2 screenspace = inUV * 2.0 - 1.0;
vec4 target = mInvProjectionMatrix * vec4(screenspace.xy, 1, 1);vec4 direction = mInvViewMatrix * vec4(normalize(target.xyz), 0);

從這里,我們可以使用 traceRayEXT 函數(shù)將主光線發(fā)射到場(chǎng)景中。然后,它將遍歷加速結(jié)構(gòu),在該結(jié)構(gòu)中,它將命中或錯(cuò)過(guò)場(chǎng)景中的幾何體,并調(diào)用相應(yīng)著色器組。執(zhí)行的著色器組將取決于其命中內(nèi)容,并將像素顏色存儲(chǔ)在有效負(fù)載結(jié)構(gòu)中。“未命中”著色器只是將光線的顏色設(shè)置為硬編碼的清除顏色。

命中組著色器

一旦光線與場(chǎng)景中的對(duì)象發(fā)生碰撞,就會(huì)執(zhí)行命中著色器。頂點(diǎn)緩沖區(qū)、索引緩沖區(qū)和材質(zhì)等模型數(shù)據(jù)都附著到“命中組”著色器。光線追蹤擴(kuò)展允許我們獲取命中對(duì)象的實(shí)例ID。在本演示中,每個(gè)模型都是唯一的,因此實(shí)例ID直接對(duì)應(yīng)于模型ID。模型ID可用于查找上述緩沖區(qū)。

// Since each object is unique in this scene, instance ID is enough to identify which buffers to look upuint objID = gl_InstanceID;
// indices of the triangle we hitivec3 ind = ivec3(indices[nonuniformEXT(objID)].i[3 * gl_PrimitiveID + 0], //    indices[nonuniformEXT(objID)].i[3 * gl_PrimitiveID + 1], //    indices[nonuniformEXT(objID)].i[3 * gl_PrimitiveID + 2]); //
// Vertices of the hit triangleVertex v0 = vertices[nonuniformEXT(objID)].v[ind.x];Vertex v1 = vertices[nonuniformEXT(objID)].v[ind.y];Vertex v2 = vertices[nonuniformEXT(objID)].v[ind.z];

gl_PrimitiveID可以用來(lái)告訴我們使用哪些索引來(lái)查找命中的頂點(diǎn),然后使用重心插值系數(shù)在它們之間進(jìn)行插值,該插值系數(shù)來(lái)自命中著色器中聲明為hitAttributeEXT類(lèi)型的全局變量。然后,我們使用世界矩陣將插值頂點(diǎn)值轉(zhuǎn)換到世界空間,并旋轉(zhuǎn)法線值。

// Get the interpolation coefficientsconst vec3 barycentrics = vec3(1.0 - attribs.x - attribs.y, attribs.x, attribs.y); // Interpolate the position and normal vector for this rayvec4 modelNormal = vec4(v0.nrm * barycentrics.x + v1.nrm * barycentrics.y + v2.nrm * barycentrics.z, 1.0);vec4 modelPos = vec4(v0.pos * barycentrics.x + v1.pos * barycentrics.y + v2.pos * barycentrics.z, 1.0); // Transform the position and normal vectors from model space to world spacemat4 worldTransform = transforms[nonuniformEXT(objID)];vec3 worldPos = (worldTransform * modelPos).xyz; // Don't translate the normal vector, only rotate and scalemat3 worldRotate = mat3(worldTransform[0].xyz, worldTransform[1].xyz, worldTransform[2].xyz);vec3 worldNormal = worldRotate * modelNormal.xyz;

使用擊中點(diǎn)的法線和世界位置,我們可以計(jì)算光線相對(duì)于場(chǎng)景中靜態(tài)光源的Phong照明分量。然后,我們使用一個(gè)新的命中和未命中組從該點(diǎn)向光源發(fā)射另一條光線。我們可以將次光線的最大長(zhǎng)度設(shè)置為擊中點(diǎn)和光源之間的距離。如果光線在這個(gè)距離內(nèi)與加速度結(jié)構(gòu)中的任何物體碰撞,我們可以得出結(jié)論,在碰撞點(diǎn)和光源之間有一個(gè)物體,因此該點(diǎn)處于陰影中。如果次光線未擊中距離集內(nèi)的任何對(duì)象,則會(huì)執(zhí)行“未命中”著色器,我們可以假定該點(diǎn)不在陰影中。

如何生成具有硬陰影的完全光線追蹤場(chǎng)景

在這個(gè)圖中,我們可以看到兩個(gè)例子。光線從視口(1)發(fā)射,第一條光線擊中點(diǎn)3,第二條光線發(fā)射,在到達(dá)光源的途中不會(huì)擊中任何幾何體。視點(diǎn)的第二條光線在點(diǎn)4處照射,但在到達(dá)光源的過(guò)程中,在點(diǎn)5處再次發(fā)生碰撞。因此,我們可以得出結(jié)論,點(diǎn)4在陰影中,但點(diǎn)3不在陰影中。

優(yōu)化

雖然光線追蹤陰影提供了比傳統(tǒng)方法更高的逼真度,但它們?nèi)匀徊煌耆昝?。因此,就?shí)時(shí)計(jì)算而言,光線追蹤算法需要更多的硬件,這是一個(gè)明顯的缺點(diǎn)。除此之外,還可以采取一些不同的優(yōu)化措施來(lái)改進(jìn)本文概述的技術(shù)。

陰影檢查

我們可以減少第一組用來(lái)檢查硬陰影的二次光線的數(shù)量;這是通過(guò)首先檢查已計(jì)算的Phong光照分量來(lái)完成的。如果由于曲面背向光源,光照分量已為0,則檢查硬陰影沒(méi)有意義,因?yàn)樵擖c(diǎn)已處于黑暗中。

這將光線預(yù)算從屏幕上像素?cái)?shù)的大約1.8倍減少到大約1.5倍。這顯然取決于場(chǎng)景和其中的對(duì)象,因?yàn)樗S未命中場(chǎng)景的主光線的比例以及通過(guò)或未通過(guò)陰影檢查的主光線的比例而變化。

混合渲染一般來(lái)說(shuō),光線追蹤核心將比傳統(tǒng)的光柵化流水線慢(至少目前是這樣)。有幾個(gè)可能的原因,但主要的原因是光線追蹤硬件仍然相對(duì)較新,因此與光柵化相比,GPU仍然沒(méi)有為其投入更多的空間。這意味著可以計(jì)算一個(gè)標(biāo)準(zhǔn)的G緩沖區(qū),并使用位置附件來(lái)定位從哪個(gè)位置發(fā)射陰影檢查光線。G緩沖區(qū)在《Vulkan中的環(huán)境遮擋》中有介紹,所以如果你還沒(méi)有看到,一定要看一看。簡(jiǎn)而言之,G緩沖區(qū)可以替代主光線,從而產(chǎn)生更好的任務(wù)重疊和更小的光線預(yù)算。

結(jié)束

雖然完全光線追蹤的硬陰影在寫(xiě)這篇博文的時(shí)候可能不是最佳解決方案,但它們?nèi)匀惶峁┝藗鹘y(tǒng)流水線難以模擬的細(xì)節(jié)和準(zhǔn)確性。一如既往,我們強(qiáng)烈建議大家看看PowerVR SDK及其代碼示例,以了解我們?nèi)绾螌?shí)現(xiàn)這些技術(shù)和實(shí)現(xiàn)這些算法的確切機(jī)制。我們也總是通過(guò)支持門(mén)戶或論壇發(fā)送電子郵件。

如果您有興趣了解更多關(guān)于各種圖形技術(shù)的信息,請(qǐng)查看我們的文檔網(wǎng)站,或者在SDK Github中探索我們的其他代碼示例。

原文標(biāo)題:Vulkan完全光線追蹤硬陰影

文章出處:【微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4956

    瀏覽量

    73506
  • Vulkan
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    6104
  • 光線追蹤
    +關(guān)注

    關(guān)注

    0

    文章

    185

    瀏覽量

    22071

原文標(biāo)題:Vulkan完全光線追蹤硬陰影

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DLInfer聯(lián)手沐曦股份實(shí)現(xiàn)數(shù)據(jù)生成場(chǎng)景的實(shí)際落地

    近期,上海 AI 實(shí)驗(yàn)室 DeepLink 團(tuán)隊(duì)推出的 DLInfer 通過(guò)支持 LMDeploy 主流模型推理,助力沐曦股份曦云 C500 落地 MinerU 多模態(tài)數(shù)據(jù)生成場(chǎng)景,Graph 模式下實(shí)現(xiàn)性能加速 60%。
    的頭像 發(fā)表于 12-09 14:55 ?616次閱讀
    DLInfer聯(lián)手沐曦股份實(shí)現(xiàn)數(shù)據(jù)<b class='flag-5'>生成</b><b class='flag-5'>場(chǎng)景</b>的實(shí)際落地

    如何選擇適合的智駕仿真工具進(jìn)行場(chǎng)景生成和測(cè)試?

    在自動(dòng)駕駛技術(shù)日益發(fā)展的背景下,選擇合適的智駕仿真工具進(jìn)行場(chǎng)景生成和測(cè)試顯得尤為重要。該工具不僅需要支持高精度的場(chǎng)景重建,還需滿足多種環(huán)境條件和傳感器模型的兼容性。本文將深入探討如何評(píng)估不同智駕仿真
    的頭像 發(fā)表于 11-25 10:32 ?294次閱讀
    如何選擇適合的智駕仿真工具進(jìn)行<b class='flag-5'>場(chǎng)景</b><b class='flag-5'>生成</b>和測(cè)試?

    桂花網(wǎng)M1000:輕量型藍(lán)牙網(wǎng)關(guān)的場(chǎng)景落地與客戶實(shí)踐

    :移動(dòng)資產(chǎn)的動(dòng)態(tài)追蹤 M1000 的 4G 廣域覆蓋與輕量化設(shè)計(jì),成為車(chē)載、物流等移動(dòng)場(chǎng)景的 “連接中樞”。 1. 冷鏈運(yùn)輸環(huán)境監(jiān)控 某冷鏈物流企業(yè)為冷藏車(chē)部署 M1000,搭配藍(lán)牙溫濕度傳感器,實(shí)現(xiàn)
    發(fā)表于 11-12 16:59

    物聯(lián)網(wǎng)RFID物流追蹤技術(shù)是什么?其技術(shù)原理和應(yīng)用場(chǎng)景

    本文深入探討RFID在物流追蹤中的技術(shù)原理、應(yīng)用場(chǎng)景、行業(yè)數(shù)據(jù)與落地策略,面向供應(yīng)鏈與技術(shù)負(fù)責(zé)人,幫助你理解并推進(jìn)從倉(cāng)儲(chǔ)、運(yùn)輸?shù)阶詈笠还锏?RFID 項(xiàng)目。
    的頭像 發(fā)表于 11-11 10:58 ?557次閱讀
    物聯(lián)網(wǎng)RFID物流<b class='flag-5'>追蹤</b>技術(shù)是什么?其技術(shù)原理和應(yīng)用<b class='flag-5'>場(chǎng)景</b>

    目標(biāo)追蹤的簡(jiǎn)易實(shí)現(xiàn):模板匹配

    一、目標(biāo)追蹤和圖像識(shí)別 一般來(lái)說(shuō),提到機(jī)器視覺(jué)這個(gè)概念都會(huì)想到圖像識(shí)別,比如人臉識(shí)別、文本識(shí)別等等,目標(biāo)追蹤這個(gè)概念在平時(shí)接觸的相對(duì)比較少。但實(shí)際上,目標(biāo)追蹤可以理解為圖像識(shí)別的動(dòng)態(tài)過(guò)程:圖像識(shí)別
    發(fā)表于 10-28 07:21

    拼多多商品推廣鏈接生成API:社交裂變的轉(zhuǎn)化追蹤利器

    ? 在社交電商時(shí)代,拼多多通過(guò) 商品推廣鏈接生成API 為商家提供了精準(zhǔn)的流量轉(zhuǎn)化解決方案。該工具不僅簡(jiǎn)化了社交裂變活動(dòng)的落地,更實(shí)現(xiàn)了全鏈路轉(zhuǎn)化效果追蹤,成為提升營(yíng)銷(xiāo)效率的核心引擎。 一、核心
    的頭像 發(fā)表于 09-08 16:22 ?632次閱讀
    拼多多商品推廣鏈接<b class='flag-5'>生成</b>API:社交裂變的轉(zhuǎn)化<b class='flag-5'>追蹤</b>利器

    告別數(shù)月等待:數(shù)字孿生場(chǎng)景生成從此進(jìn)入“日級(jí)”時(shí)代

    告別數(shù)月等待:數(shù)字孿生場(chǎng)景生成從此進(jìn)入“日級(jí)”時(shí)代
    的頭像 發(fā)表于 09-05 17:33 ?2435次閱讀
    告別數(shù)月等待:數(shù)字孿生<b class='flag-5'>場(chǎng)景</b><b class='flag-5'>生成</b>從此進(jìn)入“日級(jí)”時(shí)代

    CoolSiC? MOSFET G2如何正確選型 開(kāi)關(guān)與軟開(kāi)關(guān)場(chǎng)景解析

    在功率電子領(lǐng)域,英飛凌的CoolSiCMOSFETG2以其卓越性能備受關(guān)注。本文將重點(diǎn)分析如何在開(kāi)關(guān)和軟開(kāi)關(guān)兩種應(yīng)用場(chǎng)景下,正確選型CoolSiCMOSFETG2,以實(shí)現(xiàn)最佳系統(tǒng)性能。
    的頭像 發(fā)表于 08-26 09:04 ?5278次閱讀
    CoolSiC? MOSFET G2如何正確選型 <b class='flag-5'>硬</b>開(kāi)關(guān)與軟開(kāi)關(guān)<b class='flag-5'>場(chǎng)景</b>解析

    生成式 AI 重塑自動(dòng)駕駛仿真:4D 場(chǎng)景生成技術(shù)的突破與實(shí)踐

    生成式AI驅(qū)動(dòng)的4D場(chǎng)景技術(shù)正解決傳統(tǒng)方法效率低、覆蓋不足等痛點(diǎn),如何通過(guò)NeRF、3D高斯?jié)姙R等技術(shù)實(shí)現(xiàn)高保真動(dòng)態(tài)建模?高效生成極端天氣等長(zhǎng)尾場(chǎng)景?本文為您系統(tǒng)梳理AI驅(qū)動(dòng)的4D
    的頭像 發(fā)表于 08-06 11:20 ?5029次閱讀
    <b class='flag-5'>生成</b>式 AI 重塑自動(dòng)駕駛仿真:4D <b class='flag-5'>場(chǎng)景</b><b class='flag-5'>生成</b>技術(shù)的突破與實(shí)踐

    光線跳線怎么用

    光線跳線(光纖跳線)是用于連接光纖設(shè)備(如交換機(jī)、路由器、光模塊、光纖收發(fā)器等)或?qū)崿F(xiàn)光信號(hào)靈活分配的關(guān)鍵組件,其使用方法需結(jié)合具體場(chǎng)景和設(shè)備類(lèi)型。以下是詳細(xì)的使用指南: 一、光線跳線的基本組
    的頭像 發(fā)表于 07-18 09:40 ?794次閱讀

    資產(chǎn)追蹤與室內(nèi)導(dǎo)航

    在數(shù)字化轉(zhuǎn)型的浪潮中,資產(chǎn)追蹤與室內(nèi)導(dǎo)航作為兩項(xiàng)關(guān)鍵技術(shù),正在改變企業(yè)管理空間和資源的方式。從醫(yī)院高效管理醫(yī)療設(shè)備,到商場(chǎng)為顧客提供無(wú)縫導(dǎo)航體驗(yàn),這兩項(xiàng)技術(shù)在提升效率、降低成本和優(yōu)化用戶體驗(yàn)方
    的頭像 發(fā)表于 07-04 18:22 ?440次閱讀

    超125款游戲和應(yīng)用支持DLSS 4多幀生成

    在 COMPUTEX 2025,NVIDIA 發(fā)布多項(xiàng)內(nèi)容?,F(xiàn)在已有超過(guò) 125 款游戲和應(yīng)用支持 DLSS 4 多幀生成,并有 10 款新游戲即將發(fā)布,《毀滅戰(zhàn)士:黑暗時(shí)代》將于 6 月更新支持路徑追蹤與 DLSS 光線重建,
    的頭像 發(fā)表于 05-22 10:10 ?1400次閱讀

    光線追蹤及降噪技術(shù)綜述

    過(guò)程傳遞3D場(chǎng)景的結(jié)果。渲染主要包括光柵化(rasterization)[5]和光線追蹤[6]兩種方式。光柵化渲染采用局部光照原理,根據(jù)光源照射到物體上直接可見(jiàn)的
    的頭像 發(fā)表于 04-01 11:31 ?911次閱讀
    <b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>及降噪技術(shù)綜述

    一種多模態(tài)駕駛場(chǎng)景生成框架UMGen介紹

    端到端自動(dòng)駕駛技術(shù)的快速發(fā)展對(duì)閉環(huán)仿真器提出了迫切需求,而生成式模型為其提供了一種有效的技術(shù)架構(gòu)。然而,現(xiàn)有的駕駛場(chǎng)景生成方法大多側(cè)重于圖像模態(tài),忽略了其他關(guān)鍵模態(tài)的建模,如地圖信息、智能交通參與者等,從而限制了其在真實(shí)駕駛
    的頭像 發(fā)表于 03-24 15:57 ?1596次閱讀
    一種多模態(tài)駕駛<b class='flag-5'>場(chǎng)景</b><b class='flag-5'>生成</b>框架UMGen介紹

    敏捷合成器的技術(shù)原理和應(yīng)用場(chǎng)景

    ,在多個(gè)領(lǐng)域具有廣泛的應(yīng)用場(chǎng)景: 通信測(cè)試:在通信設(shè)備的研發(fā)和生產(chǎn)過(guò)程中,敏捷合成器可用于生成各種調(diào)制信號(hào)和測(cè)試信號(hào),以驗(yàn)證設(shè)備的性能和穩(wěn)定性。 雷達(dá)系統(tǒng):雷達(dá)系統(tǒng)需要高精度和高穩(wěn)定性的信號(hào)源來(lái)
    發(fā)表于 02-20 15:25