原创 刷題(一) 數組

數組主要用到的思想: 二分法 雙指針法 滑動窗口 vector的使用 https://blog.csdn.net/u014779536/article/details/111239643 https://www.runoob.com/w3c

原创 Materials and Appearances

Matrerial==BRDF 材質就是說這個東西我看起來是什麼樣子。 漫反射材質(往各個方向反射) 漫反射材質定義了一個方向過來的光線(這也就是irradiance)到各個方向的irradiance都是相等的。 當\(L_i\)=\(

原创 GAMES101 作業3

透視矯正插值 首先關注一下作業2中的插值公式,對深度插值時這裏有一個問題就是透視投影的矯正。因爲屏幕上的點的插值結果並不等於三維空間中的插值結果,我們應該先在三維空間中插完值再進行透視投影。但是有沒有辦法通過屏幕座標得到三維空間對應的插值結

原创 Ray Tracking 蒙特卡羅積分和Path Tracking

上一節講到了渲染方程,可以獲得一個打出來的光線應該是自身發出的光和反射的光的總和。 Monte Carlo Integration(蒙特卡洛積分) 這是一種求解複雜函數(比如沒有解析式的時候)定積分的數值方法。 定積分就是求解概率密度函數

原创 GAMES101 作業2

作業柵格化一個三角形。進階是super-sampling insideTriangle // TODO : Implement this function to check if the point (x, y) is inside the

原创 Ray Tracking 基本原理

光線追蹤和光柵化的區別 光柵化不能處理更全局的信息。比如軟陰影、玻璃的反射以及以及經過多次反射的光線。 光線追蹤將整個過程變換爲從攝像機發出感知射線,到達物體之後,如果相同的點也能夠被光源感知到,以此進行渲染。感覺光柵化這個過程是從光源出

原创 Ray Tracking 加速結構

基本原理中使用AABB作爲判斷光線和物體相交的加速。 在AABB內部如何快速判斷判斷光線和物體的相交情況呢?主要分爲種方法: Uniform grids Spatial partitions 注意這裏使用的加速結構是在光線追蹤之前做的準

原创 Ray Tracking 渲染方程

Basic radiometry (輻射度量學) Radiant flux Radiant energy Definition: Radiant energy is the energy of lectromagnetic radiatio

原创 GAMES101 作業1

作業目標是把三角形投影到屏幕上,並繞z軸旋轉(進階:繞任意軸旋轉)。 get_model_matrix // TODO: Implement this function // Create the model matrix for rota

原创 GAMES01 Geometry

生活中有許多曲面、曲線需要去表示。這裏也有許多表示幾何的方法: Implicit algebraic surface level sets distance functions ... Explicit point cloud pol

原创 UE4 存檔

基本目標:存檔 按鍵TAB保存 P鍵顯示讀檔界面 讀檔後位置重置到讀檔內容 存檔界面 關於每一條信息的變量和讀取按鈕點擊事件 存檔 存檔主要的邏輯是 存到內存中並存到本地 顯示的就是內存中的 打開關卡時加載本地到內存 其實整個保存的目

原创 UE4 UI

2D UI 點擊後 控制權切換 製作2D UI Designer Graph 在關卡藍圖/控制器類中使用UI【一般是控制器類】 效果 暫停遊戲 製作UI 暫停遊戲 點擊事件 增添UI動畫 3D UI 全自動/半自動 製作U

原创 UE4 局域網聯機

局域網聯機案例 首先包含兩個關卡,一個關卡是兩個UI。另一個關卡爲正式遊戲關卡。 局域網聯機這裏的操作主要關注在UI所在關卡中。 創建UI 頁面1主要邏輯: 點擊創建房間進入遊戲關卡並且創建一個會話 點擊搜索服務器進入頁面2並且展示服

原创 UE4 創建角色 綁定動畫 蒙太奇動畫

UE4文檔: https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/CharacterSetupOverview/ 角色-動畫藍圖 動

原创 UE4 射線檢測 拾取物品

第一視角玩家 這裏比較重要的點是PickUp是一個接口,調用的是接口 PickUp接口 定義接口 實現接口的Actor類 繼承這個接口,實現的時候,就變成了事件(當接口沒有返回值時就可以作爲事件被觸發) 在Project settin