現代計算機圖形學Games101入門筆記(十五)

蒙特卡洛積分

為什么用蒙特卡洛積分,用來做什么?跟黎曼積分區別,黎曼積分是平均分成n等分,取每個小塊中間的值取計算每個小塊面積,再將n份集合加起來。蒙特卡洛積分就是隨機取樣,假設隨機取樣點xi,對應的f(x)就是長方形的高,寬就是b-a。那長方形面積就是f(x)*(b-a)。那重復多次取平均,就可以估算這塊區域的面積。

假設ab之間均勻采樣,那p(x)的值都是1/(b-a)

n越大,結果越準。

Whitted-Style Ray Tracing 是完全反射的,不能解決Glossy reflection

漫反射會均勻把光反射到不同方向上去。如果直接光照,燈往下打,那天花板肯定是黑的。光會反射很多次。

Whitted-Style Ray Tracing是錯的,但是渲染公式是對的,需要要解決2個問題

換句話說它一個積分,我們要計算左半球方向的積分,那就是在不同方向采樣,隨機選一個方向,那就是隨機變量。其實就是均勻的對半球采樣。

全局光照

n等于多少,才不會爆炸? n=1,n的多少次方還是1.

簡化 n=1,用蒙特卡洛積分就叫路徑追蹤。n要是不等于1,也有說法,叫分布式光線追蹤。

穿過一個像素,可以有很多不同的光線,對這些路徑求平均就是他們的radiance,是不是有足夠多的path就可以保證準確了。這叫path,就是一個方向打入只會向一個方向打出,隨機選一個方向,不再一下產生一束。最終會形成,一條從視點到光源的路徑。

這樣就可以 把Ray Generation和著色聯系在一起

光追算法永遠不會停的問題

真實的世界光線彈射次數也不會停

限制次數會損失能量。真實的就是無數次,但是計算機里沒有辦法模擬無數次,死循環了。怎么辦?引入俄羅斯輪盤賭

通過概率考慮停止光線彈射次數。這里先確定一定概率

這里是不是彈射光線如果有P_RR的概率生成下來,那就能算出來,會彈射多少次停下來,就是求N次數。

打的光線取樣越少,noisy越高。能表現,但不高效。

在不同情況下,能不能打到光線,是看運氣的,光源越小越難打到。不高效!

在像素上采樣改成換成在光源上采樣。渲染方程需要寫成光源上的渲染方程。

光的計算就拆成光源計算光源直接光采樣計算,和間接光采樣計算帶俄羅斯輪盤賭概率算法計算。

以前說光追就是Whitted-style ray tracing 現在是所有光線傳播方法的大集合。

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

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

相關文章

軟件架構之-論高并發下的可用性技術

論高并發下的可用性技術 摘要正文摘要 ;2023年2月,本人所在集團公司承接了長三角地區某省漁船圖紙電子化審查系統項目開發,該項目旨在為長三角地區漁船建造設計院、以及漁船審圖機構提供一個便捷化的服務平臺。在此項目中,我作為項目組成員參與了項目建設工作,并擔任系統架…

Q-learning 算法學習

Q-learning是一種經典的無模型、基于價值的算法,它通過迭代更新狀態-動作對的Q值,最終找到最優策略。 一 Q-learning的核心思想 1.1目標 學習一個狀態-動作價值函數 ,表示在狀態 s 下執行動作 a 并遵循最優策略后的最大累積獎勵。 的核心…

鴻蒙生態崛起:開發者機遇與挑戰并存

💓 博客主頁:倔強的石頭的CSDN主頁 📝Gitee主頁:倔強的石頭的gitee主頁 ? 文章專欄:《熱點時事》 期待您的關注 目錄 引言 一、何為鴻蒙生態? 二、在鴻蒙生態下開發時遇到的挑戰 三、對于鴻蒙生態未…

TCP/IP-——C++編程詳解

1. TCP/IP 編程基本概念 TCP(傳輸控制協議):面向連接、可靠的傳輸層協議,保證數據順序和完整性。IP(網際協議):負責將數據包路由到目標地址。Socket(套接字)&#xff1a…

Python圖像處理基礎(三)

Python圖像處理基礎(三) 文章目錄 Python圖像處理基礎(三)2、計算機色彩(Computer Color)2.5 色彩分辨率2.6 灰度顏色模型2.7 CMYK 顏色模型2.7.1 K 部分2.8 HSL/HSB 顏色模型2、計算機色彩(Computer Color) 2.5 色彩分辨率 人眼可以看到許多不同的顏色,但我們的感知…

Vue路由深度解析:Vue Router與導航守衛

Vue路由深度解析:Vue Router與導航守衛 一、Vue Router基礎與安裝配置 1. Vue Router核心概念 Vue Router是Vue.js官方的路由管理器,主要功能包括: 嵌套路由映射模塊化的路由配置路由參數、查詢、通配符細粒度的導航控制自動激活的CSS類鏈…

前后端分離微服務架構

前后端分離微服務架構 介紹: 前端通過Vue和ElementUI構建界面,使用axios調用后端API。Nginx作為反向代理,將請求路由到Zuul網關。Zuul進行權限驗證(JWT)后,將請求分發到微服務。(身份驗證,安全防護(sql注入,xxs跨網站…

iOS 工廠模式

iOS 工廠模式 文章目錄 iOS 工廠模式前言工廠模式簡單工廠案例場景分析蘋果類優點缺點 小結 工廠模式客戶端調用**優點****缺點** 抽象工廠模式三個模式對比 前言 筆者之前學習了有關于設計模式的六大原則,之前簡單了解過這個工廠模式,今天主要是重新學習一下這個模式,正式系統…

【機器學習】工具入門:飛牛啟動Dify Ollama Deepseek

很久沒有更新文章了,最近正好需要研究一些機器學習的東西,打算研究一下 difyOllama 以下是基于FN 的dify本地化部署,當然這也可能是全網唯一的飛牛部署dify手冊 部署 官方手冊:https://docs.dify.ai/en/getting-started/install-self-hos…

安卓A15系統實現修改鎖屏界面默認壁紙功能

最近遇到一個A15系統項目,客戶要求修改鎖屏界面的默認壁紙,客戶提供了一張壁紙圖片,但是從A15系統的源代碼查看時才知道谷歌已經去掉了相關的代碼,已經不支持了,A13和A14系統好像是支持的,A15系統的Wallpap…

從理論到實戰:模糊邏輯算法的深度解析與應用實踐

從理論到實戰:模糊邏輯算法的深度解析與應用實踐 一、模糊邏輯的核心概念與數學基礎 模糊邏輯(Fuzzy Logic)是一種處理不確定性的數學工具,其核心思想是將傳統布爾邏輯的“非黑即白”擴展為連續的隸屬度函數。例如,在…

正向代理與反向代理區別及應用

正向代理和反向代理是兩種常見的代理服務器類型,它們在網絡架構中扮演不同角色,核心區別在于代理對象和使用場景。 1. 正向代理(Forward Proxy) 定義:正向代理是客戶端(如瀏覽器)主動配置的代理…

OpenCV CUDA模塊中逐元素操作------邏輯運算

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 比較、AND、OR、NOT等。這類操作可用于創建基于條件的掩碼,這對于圖像分割或特征選擇非常有用。 主要函數 1. 按位與 (cv::cuda::b…

一臺入網的電腦有6要素, 機器名,mac,ip,俺碼,網關,dns,分別有什么作用

一臺入網的電腦需要配置的 六大網絡要素(機器名、MAC地址、IP地址、子網掩碼、網關、DNS)各自承擔不同的關鍵作用,共同確保設備能正確通信和訪問網絡資源。以下是它們的詳細功能解析: 1. 機器名(主機名) 作…

MySQL之儲存引擎和視圖

一、儲存引擎 基本介紹: 1、MySQL的表類型由儲存引擎(Storage Engines)決定,主要包括MyISAM、innoDB、Memory等。 2、MySQL數據表主要支持六種類型,分別是:CSV、Memory、ARCHIVE、MRG_MYISAN、MYISAM、InnoBDB。 3、這六種又分…

【Spring Boot后端組件】mybatis-plus使用

文章目錄 mybatis-plus使用一、依賴引入二、添加相關配置項三、功能詳解1.自增主鍵2.邏輯刪除3.操作時間自動填充4.其他字段自動填充5.分頁查詢6.自定義動態查詢7.代碼生成器8.代碼生成器(自定義模板) mybatis-plus使用 一、依賴引入 pom.xml文件 <?xml version"1.…

docker compose 啟動指定的 service

使用 Docker Compose 啟動指定服務 要在 Docker Compose 中啟動特定的服務而不是所有服務&#xff0c;可以使用以下命令&#xff1a; docker compose up [服務名] 基本用法 啟動單個服務&#xff1a; docker compose up service_name 啟動多個指定服務&#xff1a; docker …

wordcount程序

### 在 IntelliJ IDEA 中編寫和運行 Spark WordCount 程序 要使用 IntelliJ IDEA 編寫并運行 Spark 的 WordCount 程序&#xff0c;需按照以下流程逐步完成環境配置、代碼編寫以及任務提交。 --- #### 1. **安裝與配置 IntelliJ IDEA** 確保已正確安裝 IntelliJ IDEA&#x…

SmartETL函數式組件的設計與應用

SmartETL框架主要采用了面向對象的設計思想&#xff0c;將ETL過程中的處理邏輯抽象為Loader和Processor&#xff08;對應loader模塊和iterator模塊&#xff09;&#xff0c;所有流程組件需要繼承或實現DataProvider&#xff08;iter方法&#xff09;或JsonIterator&#xff08;…

鴻蒙AI開發:10-多模態大模型與原子化服務的集成

鴻蒙AI開發&#xff1a;10-多模態大模型與原子化服務的集成 在鴻蒙生態中&#xff0c;多模態大模型與原子化服務的集成是一個重要課題。本文將介紹如何在鴻蒙平臺上進行多模態大模型與原子化服務的集成&#xff0c;以及相關的技術細節和實際案例。 鴻蒙AI開發概述 什么是鴻蒙AI…