在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

由RTX提供支持的NVIDIA OptiX光線追蹤

設計idea ? 來源:互聯網 ? 作者:佚名 ? 2018-04-28 14:24 ? 次閱讀

光線追蹤與光柵化

自20世紀90年代以來,傳統的3D渲染通常使用稱為光柵化的過程。柵格化使用從三角形或多邊形網格創建的對象來表示對象的3D模型。渲染管線然后將3D模型的每個三角形轉換成2D圖像平面上的像素。這些像素然后可以在屏幕上的最終顯示之前被進一步處理或“著色”。雖然光柵化對于實時生成圖像非常有效,但為光柵化管線添加逼真的光照效果會增加復雜性,需要基于給定場景的許多手動調整參數保持良好的表現通常需要使用可能影響整體現實的捷徑或估計。光線追蹤是實現更大現實的重要一步。

光線追蹤通過模擬光線的物理行為生成高度逼真的圖像。光線追蹤通過追蹤光線從觀看者的眼睛穿過虛擬3D場景的路徑來計算像素的顏色。光線可能會從一個物體反射到另一個物體(引起反射),被物體阻擋(引起陰影),或穿過透明或半透明物體(模擬半透明或電介質,如玻璃或水)穿過場景。所有這些交互結合起來產生屏幕上顯示的像素的最終顏色。如圖1所示,保真度可以保持不變,算法可以優雅地實施,但需要大量復雜的計算工作量。

圖1. Enrico Cerica使用OctaneRender生成的計算機生成的圖像顯示了復雜地板表面上的光線追蹤陰影和反射

光線追蹤如何工作

光線追蹤直接模擬穿過虛擬環境的光線。圖2顯示了環境如何由相機,燈光集合,3D幾何模型以及這些模型的材質描述組成。然后追蹤表示光路或光子的光線,以確定相機傳感器在給定方向上看到的光線值。追蹤射線通常遵循一系列自然事件:

  1. 創建代表從環境到相機的光路反向的光線。

  2. 射線與場景相交,確定射線擊中哪個物體,如果有的話。

  3. 材質著色器或環境著色器計算照明值沿著光線的路徑

  4. 最后,產生的光照值被寫入幀緩沖器。

射線追蹤圖2.簡化的光線追蹤圖

第3步通常是通過產生額外的光線來確定入射光在物體上某一點上的位置,從而使光線追蹤自然遞歸算法。

光線跟蹤在GPU

創建真實照片般逼真的圖像的能力是為什么光線追蹤被視為計算機渲染的未來。今天的光線追蹤渲染器主宰虛擬效果制作和動畫特效。大規模并行GPU的出現現在擴展了可以使用光線追蹤的領域空間。使用GPU的離線渲染現在需要幾分鐘的時間,而不是使用主流CPU所需的時間。NVIDIA?(英偉達?)GPU搭配NVIDIA先進的光線追蹤技術堆棧,現在提供了計算能力和軟件框架,可在消費者級工作站上執行有趣的實時光線追蹤工作負載。

NVIDIA在本周在GTC上宣布支持新款Quadro?GV100上的RTX技術。開發人員可以通過多種API訪問NVIDIA RTX技術,具體取決于他們的需求和開發環境,如圖3所示。

NVIDIA RTX OptiX DXR Vulkan Volta圖3. NVIDIA RTX技術

  • 微軟的DirectX光線追蹤(DXR)API。將光線追蹤功能完全集成到游戲開發人員使用的行業標準API DirectX中,使光線追蹤成為光柵化和計算的替代品,而不是光柵追蹤的替代品。DXR專注于通過混合光柵化光線追蹤技術啟用實時用例。

  • NVIDIA的Vulkan Ray追蹤擴展。即將推出;可以對Vulkan圖形標準進行光線追蹤擴展。另一種在跨平臺API中緊密耦合光線跟蹤和光柵化技術的途徑。

  • NVIDIA的OptiX API。用于在GPU上實現高性能光線追蹤的應用程序框架。它為加速光線追蹤算法提供了一個簡單的,遞歸的和靈活的流水線。OptiX SDK包含兩個可以彼此獨立使用的主要組件:用于渲染器開發的光線跟蹤引擎和用于顯示之前的圖像處理的后處理管道。

所有這三種API共享一種描述光線追蹤操作的通用方法,使得開發人員可以直接在多個平臺上訪問RTX。十年來在渲染軟件和硬件方面的投資已經導致高度優化的光線追蹤解決方案,實現了以前達不到的性能和交互性水平。NVIDIA還大量投資開發工具鏈,使得GPU編程,調試和分析比以往更容易。

有關DXR的更多信息,請查看關于該主題的博客文章今年的GTC會議S8521上提供了Vulkan擴展的預覽版現在我們來看看OptiX API。

光線跟蹤GPU計算圖4.光線追蹤在概念上簡單,計算復雜

NVIDIA設計了OptiX API來填補NVIDIA GPU上簡單的概念模型和相對高級的執行模型之間的差距,使開發人員可以專注于他們的核心光線追蹤算法,如圖5所示。OptiX建立在關鍵的觀察中,即大多數射線追蹤算法可以使用一小組可編程操作來實現。OptiX提供了一個描述虛擬環境的API和一組用戶可編程著色器來實現射線跟蹤周期的每個階段。

著色器OptiX圖5. OptiX中的用戶可編程著色器顯示為綠色。橫向由OptiX內部控制。

OptiX的核心是一個領域特定的即時編譯器。編譯器通過結合用戶提供的射線生成,材質著色,對象交叉和場景遍歷的程序來生成自定義光線跟蹤內核。高性能是通過使用緊湊的對象模型和光線跟蹤編譯器優化實現的,可以有效地映射到新的RTX技術和Volta GPU。

OptiX支持各種各樣的用例,包括交互式渲染,批量渲染,碰撞檢測系統,人工智能查詢以及聲音傳播或中子傳輸等科學仿真。OptiX已被集成到各種當前可用的商業軟件產品中,并且已經成為近十年來的關鍵光線追蹤SDK。

使用OptiX的主要優點包括:

  • 可編程的GPU加速射線跟蹤管線,可根據您的應用需求輕松定制

  • 單線程編程模型提供對遞歸的全面支持和類似于虛擬函數調用的動態調度機制

  • 最先進的數據結構,用于極快的光線對象交叉

  • 支持渲染大型場景,透過跨多個GPU進行透明縮放,以及通過NVLink自動組合多個GPU內存

  • OptiX利用最新的GPU架構特性,無需進行應用方面的更改

  • 一種基于AI的去噪器,用于改善用戶實時探索的體驗

  • 靈活性支持任意著色模型,包括基于物理的MDL材料規范的示例實現

  • 全面的編程指南,參考文檔和示例可幫助您將OptiX快速集成到您的應用程序中

  • NVIDIA?(英偉達?)RTX技術的直觀界面以及Volta GPU的強大功能

光線生成程序

射線路徑中的第一個射線段,通常稱為主射線,使用射線生成程序。這跟蹤場景中的射線,將追蹤結果寫入輸出緩沖區。下面是一個非常簡單的示例射線生成程序。

//用戶可以定義一個任意結構來攜帶與射線相關的數據//并從曲線返回值。structPerRayData{
float4result;//結果的輸出變量。我們可以根據需要跟蹤其他信息。};
rtDeclareVariable(CameraParams,camera_params,,);//輸入描述//相機型號的參數。rtDeclareVariable(rtObject,scene_root_group,,);//頂級組//包含場景描述。rtBufferoutput_buffer;//輸出緩沖區來存儲渲染的圖像。


rtDeclareVariable(uint2,launch_index,rtLaunchIndex,);//OptiX內置變量,包含當前索引到啟動網格中。//通常這對應于輸出圖像中的像素索引。rtDeclareVariable(uint2,launch_dim,rtLaunchDim,);//OptiX內置變量,包含發射網格的大小。通常//這對應于輸出圖像的維數。





RT_PROGRAMvoidpinhole_camera(){//通過針孔相機建模來創建主光線。或者,我們可以讀取//從輸入緩沖區預先生成的光線或使用其他方法。constfloat3ray_origin=pinholeCameraGetOrigin(camera_params);Constfloat3ray_direction=pinholeCameraComputeDirection(camera_params,launch_index,
launch_dim);
optix::Rayray=optix



::make_Ray(
ray_origin,//攝像頭位置
ray_direction,//從原點到屏幕平面0u上像素位置的方向,//射線類型(請參閱文檔)
scene_epsilon,//最小相交距離
RT_DEFAULT_MAX);//最大交叉距離


//初始化我們的射線數據結構并調用內置函數rtTracePerRayDataprd;Prd。result=make_float4(0.0f);
rtTrace(top_object,ray,prd);


//將結果寫入緩沖區。啟動完成后,此輸出緩沖區通常//被拖動到屏幕上或寫入圖像文件。
output_buffer[launch_index]=prd。結果;

場景遍歷程序

OptiX利用最先進的空間分區層次數據結構,可以非常快速地剔除虛擬場景中不與給定射線相交的部分。Optix核心編譯器控制這些數據結構的創建和遍歷。這使得OptiX可以隱藏高度優化的,特定于架構的實現的復雜性,并將多年的NVIDIA研究成果用于遍歷加速結構。

相交和邊界框程序

可以使用用戶定義的相交和邊界框程序來實現自定義基元,如球體,曲線或細分修補程序。邊界框程序必須計算自定義基元的對象空間軸對齊邊界框。根據輸入射線是否與基元相交,交集程序返回true或false。下面是每種類型的程序的簡單示例,演示如何實現球體基元。

rtDeclareVariable(個float4,球體,,);//輸入變量給球體中心,半徑rtDeclareVariable(float3,normal,attributenormal,);//屬性變量允許從交集//程序到命中程序的數據傳遞
rtDeclareVariable(optix::Ray,ray,rtCurrentRay,);//OptiX提供的內置變量RT_PROGRAMvoidintersect_sphere(){
float3center=make_float3(sphere);//提取球體的中心位置floatradius=sphere。w;//提取球體的半徑

float3n;//表面法線的輸出參數floatt;//相交距離的輸出參數

if(intersect_sphere(ray,center,radius,n,t))//確定射線是否碰到球體,如果是,//距離多遠{if(rtPotentialIntersection(t))//告訴OptiX射線與其相交球體。OptiX//將檢查相交距離是否位于//當前有效射線間隔內,并相應地返回true/false//。






{
normal=n;//輸出屬性總是寫入//rtPotentialIntersection和rtReportIntersection之間

constintmaterial_id=0;
rtReportIntersection(material_id);//報告具有物料ID的交集}}}

//為多原始幾何體(例如三角網格)使用原始索引RT_PROGRAMvoidbounds(int/*primitive_index*/,floatresult[6]){constfloat3center=make_float3(sphere);常量浮子半徑=make_float3(球體。瓦特);


optix::Aabb*aabb=(optix::Aabb*)結果;//將float數組轉換為輔助數據類型以便于使用
aabb->m_min=center-make_float3(radius);
aabb->m_max=center+make_float3(radius);}

最近擊和任意擊中程序

最接近的和任意命中的程序一起工作以作為材質著色器。OptiX允許開發人員指定一種或多種類型的光線(例如,輻射,環境遮擋或陰影光線)。材質可以指定最接近的命中和任意命中程序來描述每個光線類型的對象相交時的著色行為。命中程序通過屬性變量從交集程序接收信息。他們通過寫入光線有效載荷將信息傳遞回光線生成程序。

當光線跟蹤核心完全穿越場景并找到當前光線有效距離區間內最接近的交點時,將調用最近擊的程序。最終著色通常發生在這個階段。一個全功能的陰影系統可能會評估基于物理的反射函數并生成二次光線來評估反射,折射和光線遮擋。

在遍歷場景時發現新的可能最接近的對象時,任何命中的程序都會被調用。任何命中的程序都可以對當前的潛在交叉點采取以下三種操作之一:

  • 通過調用可以忽略交集rtIgnoreIntersection這可以在諸如透明alpha剪切的情況下拒絕交叉。

  • 射線遍歷可以通過調用來終止rtTerminateRay這通常用于點對點可見性測試,因為在點之間找到的任何對象都是足夠的。

  • 交叉點可以被接受,但是遍歷是繼續的。如果沒有rtIgnoreIntersection或被rtTerminateRay調用,這是默認行為

對于任何給定的物質射線類型的插槽,任何命中或最近命中的程序都可以不受約束。例如,一個不透明的材質可能只需要一個任意點擊的陰影射線程序,因為找到光線和陰影點之間的任何交點就足以確定一個點在陰影中。另一方面,不透明材料通常只有一個最受歡迎的程序用于輻射射線。

下面是一個非常簡單的一對非常簡單的不透明材料擊中程序的例子,通過簡單地查看它們的表面法線來遮蔽物體。

//通常,任何命中和最近命中的程序都使用不同的光線有效載荷結構,具體取決于他們想要返回到光線生成程序的數據。為了簡單起見,我們將使用單一類型。structPerRayData{
float4result;//任意擊中的最接近命中的光輝值,不透明度};rtDeclareVariable(PerRayData,prd,rtPayload,);//內置提供對這個ray有效載荷的訪問structrtDeclareVariable(float3,normal,attributenormal,);//我們的交集程序指定的屬性RT_PROGRAMvoidnormal_shader_closest_hit_radiance(){//將對象normal轉換為世界空間并轉換為顏色constfloat3world_space_normal=optix::normalize(rtTransformNormal(RT_OBJECT_TO_WORLD,normal));Constfloat3color_normal=world_space_normal*0.5f+0.5f;
prd。result=make_float4(color_normal,1.0f);}


RT_PROGRAMvoidnormal_shader_any_hit_shadow(){//這個材質是不透明的,所以它完全衰減了所有的陰影射線
prd_shadow。result=make_float3(0.0f);

//我們終止這條射線,因為我們只想知道是否有幾何體被擊中,而不是最接近的
rtTerminateRay();}

小姐節目

如果沒有幾何體被射線擊中,則調用未命中程序。可以為每個光線類型指定一個未命中程序,并且可以保持未綁定狀態。小姐程序用于實現環境地圖或無限遠的背景。下面是一個實現用戶可指定的常量彩色背景環境的程序。

structPerRayData{
float4result;//任意擊中的最接近命中的光輝值,不透明度};rtDeclareVariable(個float4,bg_color,,);//輸入背景顏色的變量rtDeclareVariable(PerRayData,prd,rtPayload,);//內置提供對這個射線的有效載荷結構的訪問RT_PROGRAMvoidmiss(){
prd_radiance。結果=bg_color;}

性能

OptiX在一系列NVIDIA GPU上運行,但使用Volta GPU實現最佳性能,如圖6所示。

Optix Volta Maxwell NVIDIA圖6. NVIDIA GPU上的OptiX性能

使用NVIDIA OptiX增強創意

使用NVIDIA OptiX的渲染軟件(例如Autodesk Arnold,Chaos Group V-Ray,Isotropix Clarisse,Optis,Pixar RenderMan和Solidworks Visualize)將在NVIDIA Volta架構上運行時自動使用RTX技術。

OptiX AI降噪技術與Quadro GV100和Titan V中新的NVIDIA Tensor Cores相結合,可提供前代GPU性能的3倍,并首次實現無噪聲流體交互。

NVIDIA正在改變渲染以及整個設計過程。借助NVIDIA Volta GPU和NVIDIA?RTX?光線追蹤技術,您可以通過實時的電影質量渲染提高創造力,從而獲得更好的效果并立即做出決策。與您的客戶在房間中探索設計,在照片和材料上進行實驗,從而以交互方式精確模擬真實世界的照明條件。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4986

    瀏覽量

    103058
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4740

    瀏覽量

    128949
  • 光線追蹤
    +關注

    關注

    0

    文章

    183

    瀏覽量

    21478
收藏 人收藏

    評論

    相關推薦

    NVIDIA推出 GeForce RTX 系列游戲處理器

    NVIDIA 發布全球首款實時光線追蹤 GPU —— GeForce RTX
    的頭像 發表于 08-01 15:08 ?839次閱讀

    讓游戲廠商趨之若鶩的RTX光線追蹤,到底神奇在何處呢?

    這個RTX光線追蹤技術,就是Nvidia前段時間在GDC2018上推出的,號稱可以利用光線追蹤
    的頭像 發表于 05-12 10:27 ?4676次閱讀

    NVIDIA RTX?實時光線追蹤技術:將重新定義什么才是CG

    NVIDIA專業可視化業務高級總監Sandeep Gupte近期接受采訪中介紹NVIDIA RTX?實時光線追蹤技術。
    的頭像 發表于 07-09 10:56 ?4457次閱讀

    NVIDIA RTX平臺光線追蹤功能和AI效果應用到游戲當中

    NVIDIA RTX 平臺自面市以來一躍成為行業標準游戲開發平臺,成功將實時光線追蹤技術運用至游戲。采用 NVIDIA Turing 架構的
    的頭像 發表于 08-28 14:34 ?3978次閱讀

    AMD下一代GPU會不會支持光線追蹤

    NVIDIA今年推出的圖靈架構率先支持了實時光線追蹤,以致于老黃宣稱圖靈架構是統一渲染架構以來最大的一次架構升級。NVIDIA現在有
    發表于 11-13 10:35 ?1279次閱讀

    RTX刀片服務器實現云渲染密度、效率及可擴展性的飛躍

    NVIDIA RTX服務器包括全面優化的軟件堆棧,可用于Optix RTX渲染、游戲、VR和AR、以及專業可視化應用程序。如今NVIDIA
    的頭像 發表于 03-22 15:28 ?4098次閱讀

    GTX系列顯卡運行光線追蹤應用的時候是怎樣的體驗

    就是加入RT Core,使其可以實現對實時光線追蹤技術的支持,因此那個時候如果我們要在游戲中開啟實時光線追蹤的特效,
    發表于 04-15 14:41 ?1474次閱讀

    RTX光線追蹤技術解讀

    NVIDIA在8月20日的科隆游戲展前發布會上,正式揭曉了全新一代基于“圖靈”架構的20系游戲顯卡。針對圖形性能,NVIDIA帶來了革命性的改進,引入了實時光線追蹤技術。如果你是一名發
    的頭像 發表于 06-18 15:30 ?4727次閱讀

    NVIDIA黃仁勛宣布六款國產游戲加入RTX光線追蹤陣營

    在蘇州舉辦的GTC CHINA 2019圖形技術大會上,NVIDIA創始人兼CEO黃仁勛宣布,又有六款游戲大作加入NVIDIA RTX光線追蹤
    的頭像 發表于 12-18 16:05 ?3772次閱讀

    全球最暢銷游戲支持實時光線追蹤NVIDIA DLSS 2.0

    NVIDIA 游戲業務高級副總裁 Jeff Fisher 表示:“NVIDIA 與 Mojang 工作室合作,為《我的世界》 引入新一代光線追蹤和 AI,成果矚目。現在《我的世界》
    的頭像 發表于 04-29 16:37 ?4501次閱讀

    NVIDIA發布RTX A2000 GPU加速設計工作流程中的AI和光線追蹤

    全新RTX A2000 GPU采用小巧、節能的設計,適用于更多臺式機,同時加速設計工作流程中的AI和光線追蹤NVIDIA RTX技術憑借
    的頭像 發表于 08-13 11:06 ?6958次閱讀

    NVIDIA RTX A4500強勢發布,一款高端RTX專業圖形顯卡

    NVIDIA RTX A4500 基于NVIDIA Ampere架構高端RTX專業圖形顯卡。借助高性能計算、深度學習融合技術,加快實時光線
    發表于 11-25 12:27 ?2742次閱讀

    NVIDIA OptiX光線追蹤引擎的功能特性

    NVIDIA OptiX 光線追蹤引擎用于在 GPU 上實現出色光線追蹤性能的應用框架,
    的頭像 發表于 09-14 09:37 ?2713次閱讀

    SIGGRAPH 2023 | RTX 賦能的空間框架通過 USD 實現全光線追蹤 XR 流程

    新的可執行程序的速度。 NVIDIA Omniverse 中的全新空間框架通過通用場景描述(即 OpenUSD)和 NVIDIA RTX 驅動的
    的頭像 發表于 08-11 20:10 ?360次閱讀

    SIGGRAPH 2023 | 通過 NVIDIA OptiX 8 實現靈活且強大的光線追蹤功能

    實現逼真的視覺效果一直是計算機圖形領域人士所追求的目標。 NVIDIA OptiX 是一款強大且靈活的光線追蹤技術框架,能讓用戶充分挖掘光線
    的頭像 發表于 08-14 17:25 ?638次閱讀
    SIGGRAPH 2023 | 通過 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>OptiX</b> 8 實現靈活且強大的<b class='flag-5'>光線</b><b class='flag-5'>追蹤</b>功能
    主站蜘蛛池模板: 资源新版在线天堂| 99热最新| 亚洲成人激情片| 久久成人性色生活片| 天天干天天操天天舔| 欧美伊人| 7777sq国产精品| 性欧美丰满xxxx性久久久| 一及黄色| 国产高清在线看| 成人国产亚洲欧美成人综合网| 在线三级播放| 好男人社区www在线观看| 激情视频综合网| 亚洲入口无毒网址你懂的| 国产亚洲视频在线| 1024你懂的国产日韩欧美| 天堂网在线资源www种子| 甘婷婷一级毛片免费看| 日本人69xxxxxxxx69| 网络色综合久久| 亚洲精品网站日本xxxxxxx| tube 69sex 第一次| 日本黄色免费在线观看| 日日干夜夜爽| 永久免费精品视频| 成人在线精品| 一级毛片在线不卡直接观看| 欧美久操| 黄黄视频免费看| 四虎在线永久免费观看| 午夜一区二区免费视频| 美女露出扒开尿口让男人桶| 亚洲精品黄色| 9色网站| 34pao强力打造免费永久视频| 欧美成人伊人久久综合网| 久久国产影视| 涩999| 美女久久久| 色婷婷精品视频|