原创 21-陰影映射

陰影向觀察者指示光線來源,並幫助傳達場景中物體的相對位置。本章介紹了基本的陰影映射算法,這是一種在遊戲和3D應用中建模動態陰影的流行方法。對於一本介紹性書籍,我們只關注基本陰影映射算法;通過擴展基本陰影映射算法來構建更高級的陰影技術,例如

原创 18-正態映射和位移映射

在第8章中,我們介紹了紋理映射,它使我們能夠將圖像中的細節映射到三角形上。但是,我們的法向矢量仍然定義在較粗糙的頂點級別並在三角形內插。作爲本章的一部分,我們研究了一種在較高分辨率下指定曲面法線的流行方法。以更高的分辨率指定曲面法線將增加

原创 14-在DX中建立第一人稱相機

本章中,我們設計了一套與你在第一人稱遊戲中使用的相機相同的系統。該相機系統將會取代我們之前使用的軌道相機系統。 學習目標: 1.複習視圖空間轉換的數學原理。 2.能定義第一人稱相機的典型功能。 3.學習如何實現第一人稱相機。 14.

原创 吳恩達視頻課程文字版

機器學習和深度學習如何入門?相信很多人都會推薦吳恩達的在線課程。 不過,這種視頻在線課程也有其弊端,就跟很多人不喜歡微信語音一樣,想要在視頻中查找和回顧相關的知識點並不方便。 於是,以黃海廣博士爲首的一羣機器學習愛好者發起了一個公益性質的

原创 15-實例化與視錐裁剪

本章中,我們研究兩個主題:實例化和截錐體剔除。實例化是指在場景中多次繪製同一個對象。我們描述了Direct3D的特性,使我們能夠以最小的API開銷實現實例化。剔除是指通過簡單的測試避免繪製全部三角形的過程。 學習目標: 1.學習如何實

原创 23-網格

到目前爲止,在本書中,我們已經使用程序生成的網格(例如圓柱體,網格,球體)以及從文件加載的一些簡單網格數據(例如,頭骨網格)。在這個簡短的章節中,我們擴展了我們用來支持材料和其他信息的.m3d格式。在第25章中,我們將再次擴展這種格式以支

原创 17-立方體貼圖

在本章中,我們將研究立方體貼圖,這些立方體貼圖基本上是以特殊方式解釋的六個貼圖的數組。 使用立方體貼圖,我們可以輕鬆地構建天空或模型反射。 目標: 1.瞭解立方體貼圖以及如何在HLSL代碼中對它們進行採樣。 2.發現如何使用Dire

原创 22-環境光遮蔽

由於性能的限制,實時照明模型通常不考慮間接光(即從場景中的其他物體反射回來的光)。但是,我們在現實世界中看到的許多光是間接的。在第7章中,我們將環境項引入了照明方程: A=la⊗maA=la⊗ma 顏色lala 指定表面從光源接收的間

原创 VS2015下配置OpenCV

首先OpenCV下載地址: https://opencv.org/releases.html (當然也可以下載源碼自己編譯,但那是另外一會事情了。) 然後安裝OpenCV,其實就是解壓。這裏不再詳述。 開始配置OpenCV: ①

原创 第十一章 幾何着色器

假設我們不使用細分階段,幾何着色器階段是位於頂點和像素着色器階段之間的可選階段。頂點着色器輸入頂點,幾何着色器輸入整個圖元。例如,如果我們繪製三角形列表,則幾何着色器程序將爲列表中的每個三角形T所執行: for(UINT i = 0;

原创 第十二章 計算着色器

GPU已經過優化,可以處理來自單個位置或順序位置的大量內存(所謂的“流式操作”); 這與設計用於隨機存儲器訪問的CPU相反[Boyd10]。 而且,由於頂點和像素是獨立處理的,所以GPU被設計爲大規模並行; 例如,NVIDIA“Fermi

原创 OpenCV讀入圖像,設置大小,按鍵移動圖像位置。

歡迎使用Markdown編輯器寫博客 在OpenCV編寫程序實現以下功能: 讀入圖像 設置圖像大小 按鍵移動圖像位置 實現代碼 #include "opencv2/core/core.hpp" #include "opencv2/i