原创 【LOD for 3D Graphics】LOD技術背景調查

文章目錄1. LOD 的三種基礎框架1.1 Discrete LOD1.2 Continuous LOD (Progressive LOD, 漸進式 LOD)1.3 View-Dependent LOD1.4 LOD 實踐2. L

原创 線性代數(四) 仿射變換

齊次座標 對於向量而言, 平移操作是沒有意義的, 因爲向量只描述方向與大小, 與位置無關. 但是很明顯, 在計算機圖形學中, 我們不值關注方向, 同樣需要考慮物體(頂點)的位置信息. 齊次座標的重要作用就是使我們可以方便的將位置和

原创 Lightmass分析(二) 前置知識儲備

Intro Lightmass分析 系列文章前言及目錄 本文會介紹一些 Lightmass 中涉及的基礎概念, 理解這些內容會幫助你更輕鬆的分析UE代碼. 光照貼圖 Lightmap 光照貼圖是一張記錄物體表面輻射照度的紋理, 其

原创 Lightmass分析(五) 光照評估

Intro Lightmass分析 系列文章前言及目錄 在之前的文章中, 我們已經計算出了 IrradiancePhotonsMap 中有效光子的 Irradiance. 接下來我們便需要利用這些光子來評估場景中各個物體表面的全局

原创 Lightmass分析(三) 核心流程

Intro Lightmass分析 系列文章前言及目錄 Lightmass 是 Unreal Engine 裏用於烘焙靜態全局光照的工具. 全局光照 (Lightmass) 創建具有複雜光交互作用的光照圖, 例如區域陰影和漫反射.

原创 Lightmass分析(四) 光子追蹤

Intro Lightmass分析 系列文章前言及目錄 Lightmass 借用 Photon Mapping 算法生成保存全局光照信息的光照貼圖. 本文將着重介紹 Lightmass 的光子追蹤部分. 光子追蹤的主要工作是: 發

原创 Lightmass分析(一) 光子映射(Photon Mapping)簡介

Intro Lightmass分析 系列文章前言及目錄 閱讀之前最好對光線追蹤, 光照方程, 輻照度量學等有一定的瞭解, 且本文只對光子映射做粗淺的介紹. 光子映射 Photon Mapping 和光線追蹤一樣是真實感渲染領域的一

原创 Lightmass分析 系列文章前言及目錄

這一系列包含五篇文章, 爲大家簡單介紹了 UE4 中全局光照系統 Lightmass 背後的原理. Lightmass分析(一) 光子映射(Photon Mapping)簡介 Lightmass分析(二) 前置知識儲備 Ligh

原创 通過 concentric 映射在單位圓盤上生成具有良好分佈的樣本

1. 通過直接映射, 在單位圓盤上生成樣本 我們假設 p 和 q 是隨機生成的兩個一維均勻分佈, 那麼很容易能夠想到利用極座標的形式就可以將他們映射到單位圓盤上. 但是如果我們用 r = p 和 θ = 2πq 來表示一個點相對於

原创 三維場景的渲染優化

有效的性能評測 靜態場景優化 批的優化 渲染狀態管理 LOD 場景管理優化 有效的性能評測   對於任何一個3D應用程序來說,追求場景畫面真實感是一個無止盡的目標,其結果就是讓我們的場景越來越複雜,模型更加精

原创 VS2012添加數據斷點

數據斷點 添加數據斷點   程序運行出錯時, 添加斷點單步調試程序是檢查錯誤所在的基本方法. 但是當程序更加複雜時, 我們往往需要確定某個全局變量或者成員變量是在什麼時候被修改的. 這個時候使用普通的位置斷點(F9)進行

原创 DirectX11筆記(二)--Direct3D初始化1之基本概念

紋理 Texture 交換鏈 Swap Chain 深度緩衝 Depth Buffer 紋理資源視圖 Texture Resourse View 多重採樣 Multisampling 特徵等級 Feature Lev

原创 【C++代碼整潔之道】遺留系統之殤

遺留系統之殤 本系列文章均整理自《C++代碼整潔之道——C++17可持續軟件開發模式實踐》 測試金字塔 在軟件開發項目中有不同級別的質量保證措施, 這些不同級別的質量保證措施通常使用金字塔的形式形象的表達, 也就是所謂的測試金

原创 【C++代碼整潔之道】Type-Rich編程——利用編譯器保障類型安全

本系列文章均整理自《C++代碼整潔之道——C++17可持續軟件開發模式實踐》 Type-Rich 編程 不要相信名字 而要相信類型 因爲類型不會說謊 類型是你的好朋友 —— Mario Fusco 1999年9月23日,

原创 c++ “max”: 不是“std”的成員 如何解決?

在 VS 2017 中遇到這個報錯, 一個簡單的解決方法: 包含頭文件 algorithm 即可 #include <algorithm> 網上有說這是因爲 c++ min 和 max 與 windows 宏衝突, 可以使用 #