原创 爲何D3D11的幾個矩陣需要轉置?

在學習D3D11的時候遇到一個問題,事情是這樣的: D3D11引入了常量緩存(const buffer)用來實現數據的高速傳輸,這塊兒buffer是CPU Only Write,GPU Only Read這樣的特點,其他還是D3D9的慣例

原创 DirectX12(D3D12)基礎教程(九)——多線程渲染BUG修正及MsgWaitForMultipleObjects函數詳解

1、前言 距離該系列文章上一篇文章已經有近半年多時間了,大家一定很好奇,爲什麼不繼續下去了呢?說好的光追渲染去哪了呢?OK,請大家稍安勿躁,首先,光追渲染的示例正在緊張的編寫當中,教程也在有條不紊的準備中,只是因爲光追渲染目前在我的電腦上

原创 Windows Docker環境下馴服Docker版MySQL(2) ——掛載Host文件夾使數據存儲本地化

前一篇文章中,我們解決了最新版的MySQL密碼加密策略的問題。但是作爲我們使用來說還有個更嚴重的問題就是,一旦這些容器裏運行的鏡像實例數據庫被刪除了,那麼數據也就丟失了,因爲這些數據是存在容器裏面的,容器本質上還是個虛擬機,所以這不是我們

原创 Windows Docker環境下馴服Docker版MySQL

目錄 1、運行一個MySQL實例: 2、切入MySQL Docker命令行: 3、查詢並更改密碼測略: (1)、修改加密規則 (2)、修改密碼 (3)、刷新 4、使用Windows主機中的工具連接: 前一久在閱讀了一些遊戲跨平臺開發的文章

原创 C++11標準Flex及Bison文件,請結合WinFlex&Bison編譯調試

目錄   1、前言 2、標準C++詞法文件(沒有整理全,可以參考C的標準詞法文件和C++的語法文件補充完整) 3、標準C++語法文件(C++11規範,未整理完全,部分可優化,請自行參考語言規範整理) 1、前言 鑑於這段時間美國總統特朗普先

原创 標準C語言Flex及Bison文件,請結合WinFlex&Bison編譯調試

目錄   1、前言 2、ANSI C 詞法文件 3、ANSI C 語法文件 4、ISO C 標準語法文件(未整理,請參考前兩個即可整理) 1、前言 鑑於這段時間美國總統特朗普先生對以華爲爲代表的中國企業圍堵的全面升級,本人將平時收集整理的

原创 DirectX12(D3D12)基礎教程(八)——多顯卡渲染基礎、共享紋理、多GPU同步

目錄 1、前言 2、爲什麼要多顯卡渲染 3、多顯卡渲染核心原理 3.1、多GPU拓撲模型及工作方式 3.1.1、隱式多顯卡系統 3.1.2、顯式多顯卡系統 3.1.3、鏈接的多顯卡系統 3.1.4、無鏈接的多顯卡系統 3.2、無鏈接顯式多

原创 DirectX12(D3D12)基礎教程(七)——渲染到紋理、正交投影、UI渲染基礎

目錄   1、前言 2、渲染到紋理 3、調試支持 4、正交投影 5、UI渲染基礎 6、本章完整代碼鏈接 1、前言 記得那是在差不多10多年前,我在工作中認識了一位好兄弟小楊。那時他剛畢業,跟我是同一所大學,算我的校友。彼時,我已工作快10

原创 DirectX12(D3D12)基礎教程(六)——多線程渲染

目錄 1、前言 2、爲什麼要多線程渲染 3、多線程 3.1、什麼是線程 3.2、進程的主線程 3.3、線程的入口函數 3.4、創建線程 3.5、CreateThread示例 3.6、C/C++創建線程函數(VC版) 3.7、_begint

原创 DirectX12(D3D12)基礎教程(五)——理解和使用捆綁包,加載並使用DDS Cube Map

目錄   1、前言 2、加載DDS 3、捆綁包(Bundles) 4、完整代碼 1、前言 這一次距上一篇教程又隔了有一段時間了,如果你看了之前的教程的話,馬上就會想到悲催的我是不是又遇到了什麼麻煩?應該說你能這樣想那麼恭喜你,你猜對了,這

原创 DirectX12(D3D12)基礎教程(四)——初識DirectXMath庫、使用獨立堆創建常量緩衝、理解管線狀態對象、理解圍欄同步

目錄   1、前言及本章內容提要 2、初識DirectXMath庫 3、使用獨立堆創建常量緩衝 4、理解管線狀態對象 5、理解圍欄同步 6、完整代碼 1、前言及本章內容提要 經過了之前3篇教程的跨度有點大的學習,我想大家現在應該對D3D1

原创 DirectX12(D3D12)基礎教程(三)——使用獨立堆以“定位方式”創建資源、創建動態採樣器、初步理解採取器類型

目錄   1、前言 2、顯卡架構和存儲管理 3、創建默認堆並在其上以“定位方式”創建2D紋理 4、動態採樣器 5、完整代碼 1、前言 經過了第二部分教程的“折騰”之後,後面的教程我覺得應該順暢多了。至少我現在可以一天時間就把教程示例代碼調

原创 DirectX12(D3D12)基礎教程(二)——理解根簽名、初識顯存管理和加載紋理、理解資源屏障

目錄   1、前言及本章內容提要 2、初步理解和使用根簽名 3、使用WIC庫加載圖片 4、D3D12內存管理導論——上傳堆和默認堆 4.1、D3D12中創建資源的三種方式 4.1.1、提交方式(CreateCommittedResourc

原创 DirectX12(D3D12)基礎教程(一)——基礎教程

    在之前的一系列概念介紹式的文章之後,從此文讓我們正式開始DirectX12(D3D12,以後都統一稱爲D3D12)編程學習之旅。首先大家一看到這個標題一定以爲我是不是打字重複了?其實我是故意這樣強調基礎這個概念的。因爲目前我看到的

原创 VS2017編譯WRL的Callback模版函數兼容性問題及解決方法

近來一直在研究DXR的示例代碼,並在其中看到例子中大量的使用了WRL的新模版類代替ATL的老三樣的模版類,使用最多的就是COM智能指針Microsoft::WRL::ComPtr類。在聚合使用D3D的接口時,更是像下面這樣大量應用該模版包