原创 DirectX11 With Windows SDK--07 添加光照與常用幾何模型、光柵化狀態

文章目錄前言顏色向量法向量法向量的變換物體材質光的種類環境光(Ambient Lighting)漫反射光(Diffuse Lighting)朗伯余弦定理鏡面反射光(Specular Lighting)光照模型平行光/方向光點光光的

原创 DirectX11 With Windows SDK--16 流輸出階段

文章目錄前言流輸出階段流輸出狀態的配置ID3D11DeviceContext::SOSetTargets方法--綁定流輸出對應用於接收數據的頂點緩衝區ID3D11DeviceContext::SOGetTargets方法--獲取綁

原创 DirectX11 With Windows SDK--04 變換

前言 這一章涉及的是常用的矩陣變換,絕大部分內容節選自龍書,以幫助大家構建矩陣與2D/3D空間的數學聯繫。 學習目標: 瞭解Direct3D的一些內在規定 掌握矩陣變換與2D/3D空間的聯繫 熟悉3D變換與投影成像的過程 熟悉2

原创 DirectX11 With Windows SDK--09 紋理映射與採樣器狀態

文章目錄前言紋理座標系紋理讀取DDS位圖和WIC位圖DDSTextureLoader和WICTextureLoader庫CreateDDSTextureFromFile函數--從文件讀取DDS紋理CreateWICTextureF

原创 DirectX11 With Windows SDK--11 混合狀態

文章目錄前言混合等式混合狀態混合運算符的設置混合因子的設置ID3D11Device::CreateBlendState方法--創建混合狀態ID3D11DeviceContext::OMSetBlendState方法--輸出合併階段

原创 DirectX11 With Windows SDK--28 計算着色器:波浪(水波)

前言 有關計算着色器的基礎其實並不是很多。接下來繼續講解如何使用計算着色器實現水波效果,即龍書中所實現的水波。但是光看代碼可是完全看不出來是在做什麼的。個人根據書中所給的參考書籍找到了對應的實現原理,但是裏面涉及到比較多的物理公式

原创 DirectX11 With Windows SDK--29 計算着色器:內存模型、線程同步;實現順序無關透明度(OIT)

前言 由於透明混合在不同的繪製順序下結果會不同,這就要求繪製前要對物體進行排序,然後再從後往前渲染。但即便是僅渲染一個物體(如上一章的水波),也會出現透明繪製順序不對的情況,普通的繪製是無法避免的。如果要追求正確的效果,就需要對每

原创 DirectX11 With Windows SDK--30 計算着色器:高斯模糊、索貝爾算子

前言 到這裏計算着色器的主線學習基本結束,剩下的就是再補充兩個有關圖像處理方面的應用。這裏麪包含了龍書11的圖像模糊,以及龍書12額外提到的Sobel算子進行邊緣檢測。主要內容源自於龍書12,項目源碼也基於此進行調整。 學習目標:

原创 DirectX11--HLSL語法入門

前言 編寫本內容僅僅是爲了完善當前的教程體系,入門級別的內容其實基本上都是千篇一律,僅有一些必要細節上的擴充。要入門HLSL,只是掌握入門語法,即便把HLSL的全部語法也吃透了也並不代表你就能着色器代碼了,還需要結合到渲染管線中,

原创 編譯原理複習整理

考試都是大題,所以會弱化概念部分。 文法和語言 符號和符號串 空符號串用ε\varepsilonε表示,長度爲0 若 Σ={0,1}\Sigma=\{0,1\}Σ={0,1} ,則 Σ∗={ε,0,1,00,11,000,001,

原创 DirectX11 With Windows SDK--27 計算着色器:雙調排序

前言 上一章我們用一個比較簡單的例子來嘗試使用計算着色器,但是在看這一章內容之前,你還需要了解下面的內容: 章節 26 計算着色器:入門 深入理解與使用緩衝區資源 這一章我們繼續用一個計算着色器的應用實例作爲切入

原创 DirectX11--深入理解與使用緩衝區資源

前言 在Direct3D 11中,緩衝區屬於其中一種資源類型,它在內存上的佈局是一維線性的。根據HLSL支持的類型以及C++的使用情況,緩衝區可以分爲下面這些類型: 頂點緩衝區(Vertex Buffer) 索引緩衝區(Index

原创 DirectX11 With Windows SDK--26 計算着色器:入門

前言 現在開始迎來所謂的高級篇了,目前計劃是計算着色器部分的內容視項目情況,大概會分3-5章來講述。 DirectX11 With Windows SDK完整目錄 Github項目源碼 歡迎加入QQ羣: 727623616 可以一起探

原创 DirectX11--深入理解與使用2D紋理資源

前言 寫教程到現在,我發現有關紋理資源的一些解說和應用都寫的太過分散,導致連我自己找起來都不方便。現在決定把這部分的內容整合起來,儘可能做到一篇搞定所有2D紋理相關的內容,其中包括: DDSTextureLoader和WICText

原创 DirectX11--實現一個3D魔方(3)

前言 (2019/1/9 09:23)上一章我們主要講述了魔方的旋轉,這個旋轉真是有毒啊,搞完這個部分搭鍵鼠操作不到半天應該就可以搭完了吧… (2019/1/9 21:25)啊,真香 有人發這張圖片問我寫魔方的目的是不是這個。。。噗