原创 熱力圖生成算法及其具體實現

目錄1. 概述2. 詳論2.1. 數據準備2.2. 準備繪製2.3. 繪製熱力範圍2.4. 繪製熱力圖2.5. 配色方案3. 問題4. 參考 1. 概述 以前一直覺得熱力圖非常高大上,現在終於有機會研究並總結這個問題了。其實從圖像處理的角度

原创 Draco使用筆記(1)——圖形解壓縮

目錄1. 概述2. 詳論2.1. 工具2.2. 代碼 1. 概述 Draco是Google開發的圖形壓縮庫,用於壓縮和解壓縮3D幾何網格(geometric mesh)和點雲(point cloud)。Draco還可以直接對obj或者ply

原创 QtWebEngine性能問題

目錄1. 概述2. 詳論2.1. 圖形屬性設置2.2. 硬件加速設置2.3. Qt63. 參考 1. 概述 Qt的Qt WebEngine模塊是基於Chromium項目,但是本人在使用QWebEngineView進行Web端的三維渲染(We

原创 Qt(QtWebEngine)加載本地網頁跨域問題的總結

目錄1. 概述2. 詳論2.1. 傳參2.2. JS module3. 建議4. 參考 1. 概述 瀏覽器直接加載本地網頁的時候,如果網頁涉及到加載本地資源(如圖片),會出現跨域的問題。Qt的Qt WebEngine模塊基於Chromium

原创 模型矩陣分解

目錄1. 正文2. 參考 1. 正文 通常來說,模型矩陣(R)的一種比較好的級聯方式爲:先縮放(S),再旋轉(R),最後平移(T): \[\textbf{R} = \textbf{T} * \textbf{R} * \textbf{S}

原创 旋轉矩陣與歐拉角的相互轉換

目錄1. 概述2. 詳論2.1. 歐拉角的理解2.2. 歐拉角轉旋轉矩陣2.3. 旋轉矩陣轉歐拉角 1. 概述 歐拉角與旋轉矩陣的相互轉換,是圖形計算中的常見問題。 2. 詳論 2.1. 歐拉角的理解 表達旋轉變換最簡單的理解是三種旋轉矩陣

原创 面向對象編程(C++篇4)——RAII

目錄1. 概述2. 詳論2.1. 堆、棧、靜態區2.2. 手動管理資源的弊端2.3. 間接使用2.4. 自下而上的抽象3. 總結4. 參考 1. 概述 在前面兩篇文章《面向對象編程(C++篇2)——構造》和《面向對象編程(C++篇3)——析

原创 面向對象編程(C++篇3)——析構

[toc] 1. 概述 類的析構函數執行與構造函數相反的操作,當對象結束其生命週期,程序就會自動執行析構函數: class ImageEx { public: ImageEx() { cout << "Exe

原创 面向對象編程(C++篇2)——構造

目錄1. 引述2. 詳述2.1. 數據類型初始化2.2. 類初始化 1. 引述 在C++中,學習類的第一課往往就是構造函數。根據構造函數的定義,構造函數式是用於初始化類對象的數據成員的。無論何時,只要類被創建,就會執行構造函數: class

原创 面向對象編程(C++篇1)——引言

目錄1. 概述2. 詳論2.1. 類與對象2.2. 數據類型3. 目錄 1. 概述 現代C++與最原始的版本已經差不多是兩種不同的語言了。不斷髮展的C++標準給C++這門語言帶來了更多的範式和特性,也造就了其非常的難度。但是從個人的體會而言

原创 第3章-圖形處理單元-3.8-像素着色器

3.8 像素着色器 在頂點、曲面細分和幾何着色器執行它們的操作後,圖元被裁剪並設置爲光柵化,如前一章所述。管線的這一部分在其處理步驟中相對固定,即不可編程但有些可配置。遍歷每個三角形以確定它覆蓋哪些像素。光柵化器還可以粗略計算三角形覆蓋每個

原创 第3章-圖形處理單元-3.2-GPU管線概覽

3.2 GPU管線概覽 GPU實現了第2章中描述的概念:幾何處理、光柵化和像素處理流水線階段。這些階段被分爲幾個具有不同程度的可配置性或可編程性的硬件階段。圖3.2顯示了根據可編程或可配置程度對各個階段進行顏色標識。請注意,這些物理階段的劃

原创 第2章-圖形渲染管線-2.1-架構

2.1 架構 在現實世界中,管線的概念以許多不同的形式表現出來,從工廠裝配線到快餐廚房。它也適用於圖形渲染。管線由幾個階段組成 [715],每個階段執行一個更大任務的一部分。 每一個流水線階段都是並行執行,但是其都依賴於前一階段的結果。理想

原创 第5章-着色基礎-5.4-鋸齒和抗鋸齒

5.4 鋸齒和抗鋸齒 想象一個大的黑色三角形在白色背景上緩慢移動。當一個屏幕網格單元被三角形覆蓋時,代表這個單元的像素值應該在強度上線性(“*滑”兩個字打不出來)下降。在各種基本渲染器中通常發生的情況是,網格單元的中心被覆蓋的那一刻,像素顏

原创 第3章-圖形處理單元-3.3-可編程着色器階段

3.3 可編程着色器階段 現代着色器程序使用統一的着色器設計。這意味着頂點、像素、幾何和曲面細分相關的着色器共享一個通用的編程模型。在內部,它們具有相同的指令集架構(ISA)。實現此模型的處理器在DirectX中稱爲通用着色器內核,具有此類