[gdc]Rendering ‘God of War Ragnark‘

在這里插入圖片描述
gdc23, sony santa monica關于god of war的分享;

back ground

  • 作者stephen mcauley現在是santa monica的technical director;
  • 20年加入santa monica,作為rendering lead,有9年的經驗,之前在ubisoft montreal,做farcry系列,所以提到的一些技術帶有一些farcry的痕跡;

開發思路 & team

因為定位是rendering lead,所以本質上非技術的溝通工作占據比較多的位置;
stephen加入的時候,會做非常多的溝通,以及查閱之前任務的todo list來獲取之前沒有完成的事情等等;
同時自我定位也比較清晰,定位技術團隊為棒球比賽中的擊球手,是一個輔助和強化的作用,但是不是design和artist這種能直接取得勝利的角色;
所以要花很多時間來開發workflow,讓content creator能夠比較快速的開發;
當然在后期也開始注意到,也要讓程序團隊能夠有一個好的流程;

技術

一個物理正確的框架

上來stephen驚奇的發現,光照亮度等等方面沒有“正規化”,會有比較多的美術隨意設置的情況;
太陽光設置使用十幾這種情況,hmmm,戰神也會出現這種情況;

這個實際做起來就是按照正確的物理方式處理就好了:

  • 太陽光按照實際的物理數值
  • 天光和天空球亮度綁定
  • 有一個標準的默認曝光以及tonemapping方法(ACES)

不這么做就在不同階段有這樣或者那樣的問題,戰神這里就是踩到了其中若干問題:

  • 缺乏一個標準的“base lighting”,大家通過比較隨意的lighting數值,各方面彼此再配合,小范圍沒問題,內容多了的時候,就會出現physically based lighting啟用階段,美術團隊不按照物理正確方式使用情況下的問題;
    簡言之是做了物理正確的lighting基礎,細節可以看frostbite的PBR的文章,寫的更加詳細;

ray tracing cubemap

在反射中,從parallax corrected cubemap替換成raytraced cubemap:
在這里插入圖片描述

  • 這里會使用houdini來生成一些geometry mesh來降低trace ray的消耗:
    在這里插入圖片描述
    這里只能說是一種做法,stephen自己也說他們對于raytracing不是很熟悉,所以這里不能簡單作為一種牛逼的或者最優的方案來看,實際行業中的一些proxy mesh(lumen中的方案),voxel等都可以采用;

harden contact shadow(ray marching)

正常我們會使用screen space技術來做contact shadow來達到細節精準的shadow;
戰神中對于contact shadow的需求:
在這里插入圖片描述
這里奎爺的鼻子這里就是有點不對,這個處理方式就是contact shadow

e.g.
在這里插入圖片描述
在這里插入圖片描述

戰神這里使用了較好的辦法:

  • 在shadow depth中使用ray marching的方法來做contact shadow;
  • 且可以針對area light來做
    這樣在精準度等方面都有很好的提升,而且范圍覆蓋方面更大,效率可控,目前看來效果比較好:
    效果對比:
    在這里插入圖片描述
    (without contact shadow)
    在這里插入圖片描述
    (with contact shadow,可以兩個圖切換下看區別,細節可以看弓在atreus身上的投影)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34862.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

虹科方案 | 成都大運會進行時,保障大型活動無線電安全需要…

成都大運會 7月28日,備受關注的第31屆世界大學生夏季運動會在成都正式開幕。據悉,這是全球首個5G加持的智慧大運會,也是眾多成熟信息技術的綜合“應用場”。使用基于5G三千兆、云網、8K超高清視頻等技術,在比賽現場搭建多路8K攝像…

Java“牽手”根據關鍵詞搜索(分類搜索)淘寶商品列表頁面數據獲取方法,淘寶API實現批量商品數據抓取示例

淘寶天貓商城是一個網上購物平臺,售賣各類商品,包括服裝、鞋類、家居用品、美妝產品、電子產品等。要獲取淘寶商品列表和商品詳情頁面數據,您可以通過開放平臺的接口或者直接訪問淘寶商城的網頁來獲取商品詳情信息。以下是兩種常用方法的介紹…

STM32 LL庫+STM32CubeMX--點亮板載LED

一、前期準備 硬件:STM32F103C8T6開發板調試工具:DAPLink(本次使用)或USB-TTL開發環境:STM32CubeMX、Keil、Vscode(可選)板載LED:PC13(低電平點亮) 二、STM32CubeMX配置 1.選擇芯片型號: 2.配置外設時鐘:…

Spring Cloud 智慧工地源碼(PC端+移動端)項目平臺、監管平臺、大數據平臺

智慧工地源碼 智慧工地云平臺源碼 智慧建筑源碼 “智慧工地”是利用物聯網、人工智能、云計算、大數據、移動互聯網等新一代信息技術,徹底改變傳統建筑施工現場參建各方現場管理的交互方式、工作方式和管理模式,實現對人、機、料、法、環的全方位實時監…

redis SortedSet類型命令

Redis中的Sorted Set(有序集合)是一種有序的、不重復的數據結構。Sorted Set中的每個成員都與一個分數(score)關聯,通過分數可以對成員進行排序。以下是Redis中Sorted Set類型的一些常見命令: ZADD key [NX…

開啟MySQL的binlog日志

1.判斷MySQL是否已經開啟binlog SHOW VARIABLES LIKE log_bin; 查看MySQL的binlog模式 show global variables like "binlog%";幾個關于binlog常用的命令 #查看日志開啟狀態 show variables like log_%; #查看所有binlog日志列表 show master logs; #查看最新一個b…

【Linux】DNS協議——應用層

目錄 DNS協議 DNS背景 域名簡介 域名解析過程 使用dig工具分析DNS過程 DNS(Domain Name System,域名系統)協議,是一個用來將域名轉化為IP地址的應用層協議。 DNS背景 TCP/IP中通過IP地址和端口號的方式,來確定網…

CAS服務端入門使用實踐

CAS服務端入門使用實踐 一、前言 1.簡介 CAS 是一個企業多語言單點登錄解決方案,支持大量附加身份驗證協議和功能,滿足身份驗證和授權需求的綜合平臺。 2.環境 Windows 10JDK 1.8git version 2.41.0.windows.3Tomcat 9.0.78Maven 3.5.3cas-overlay-…

【ARM 嵌入式 編譯系列 4.2 -- GCC 鏈接規范 extern “C“ 介紹】

文章目錄 extern "C" 介紹extern "C" 使用示例1.2.2 作用場景 上篇文章:ARM 嵌入式 編譯系列 4.1 – GCC 編譯屬性 likely與unlikely 學習 下篇文章:ARM 嵌入式 編譯系列 5 – GCC 內建函數 __builtin 介紹 extern “C” 介紹 exte…

輕轍視覺引擎以多種AI算法工具,助力紡織行業斷線檢測智能識別

近年來,人工智能技術在各行各業的應用愈發廣泛,機器視覺作為人工智能的重要分支,成為當下的研究熱點。機器視覺技術的發展,大幅提升了工業、農業、醫療等領域的效率和精度。尤其在工業領域,隨著智能制造的進一步發展&a…

stringstream常見用法

目錄 構造函數 輸出字符串 修改和清空字符串 利用 stringstream 去除字符串空格 利用stringstream去除指定的字符 stringstream 數據庫 <sstream> 構造函數 創建一個對象&#xff0c;向對象輸入字符串&#xff1a; string x"abcdefg";stringstream s…

Zookeeper與Kafka

Zookeeper與Kafka 一、Zookeeper 概述1.Zookeeper 定義2.Zookeeper 工作機制3.Zookeeper 特點4.Zookeeper 數據結構5.Zookeeper 應用場景6.Zookeeper 選舉機制 二、部署 Zookeeper 集群1.準備 3 臺服務器做 Zookeeper 集群2.安裝 Zookeeper3.拷貝配置好的 Zookeeper 配置文件到…

【Java】 java | git | win系統重裝會給開發環境帶來哪些問題

一、概述 1、近期發現電腦用起來不絲滑了&#xff0c;文件夾操作卡頓&#xff0c;一陣操作還會藍屏 2、不能忍&#xff0c;整理排查 二、電腦情況 1、CPU&#xff1a; I5-9400F 2.9GHz 6核 2、內存&#xff1a; 32G 3、固態&#xff1a;256G 4、機械&#xff1a;1T 5、盤符使用…

二叉樹的講解

&#x1f493;博主個人主頁:不是笨小孩&#x1f440; ?專欄分類:數據結構與算法&#x1f440; 刷題專欄&#x1f440; C語言&#x1f440; &#x1f69a;代碼倉庫:笨小孩的代碼庫&#x1f440; ?社區&#xff1a;不是笨小孩&#x1f440; &#x1f339;歡迎大家三連關注&…

詳解C語言中的int8_t、uint8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t

2023年8月8日&#xff0c;周二上午 目錄 為什么會產生int8_t、uint8_t等這類數據類型int8_t、uint8_t等這類數據類型有什么用頭文件int8_t、uint8_t等這類數據類型是怎么實現的 為什么會產生int8_t、uint8_t等這類數據類型 根本原因在于&#xff0c;C 語言標準只是規定了各個…

SQL | 匯總數據

9-匯總數據 9.1-聚集函數 在實際開發過程中&#xff0c;可能會遇到下面這些情況&#xff1a; 確定大于某個值的有多少行數據&#xff0c;比如游戲排行榜&#xff0c;查詢玩家排行多少名。 獲取表中某些行的和&#xff0c;比如雙十一當天&#xff0c;某個用戶總訂單價格是多少…

學習篇之React Fiber概念及原理

什么是React Fibber&#xff1f; React Fiber 是 React 框架的一種底層架構&#xff0c;為了改進 React 的渲染引擎&#xff0c;使其更加高效、靈活和可擴展。 傳統上&#xff0c;React 使用一種稱為堆棧調和遞歸算法來處理虛擬 DOM 的更新&#xff0c;這種方法在大型應用或者…

最強自動化測試框架Playwright(7)- 使用cookie避免重復登錄

playwright在稱為瀏覽器上下文的隔離環境中執行測試。這種隔離模型提高了可重復性&#xff0c;并防止了級聯測試失敗。測試可以加載現有的經過身份驗證的狀態。這消除了在每次測試中進行身份驗證的需要&#xff0c;并加快了測試執行速度。 每次測試前登錄 以下示例登錄到 Git…

談談什么是云計算?以及它的應用

作者&#xff1a;Insist-- 個人主頁&#xff1a;insist--個人主頁 作者會持續更新網絡知識和python基礎知識&#xff0c;期待你的關注 目錄 ?編輯 一、什么是云計算 二、云計算的優勢與劣勢&#xff1f; 1、云計算的優勢 ①提高資源利用率 ②提升效率 ③降低成本 2、云…

python編程基礎與案例集錦,python編程入門經典

大家好&#xff0c;本文將圍繞python編程基礎與案例集錦展開說明&#xff0c;python編程入門與案例詳解是一個很多人都想弄明白的事情&#xff0c;想搞清楚python入門程序例子需要先了解以下幾個事情。 【程序1】 題目&#xff1a;輸入一行字符&#xff0c;分別統計出其中英文字…