2018年7月16日 星期一

Intel's Vulkan 簡短教程 - 使用 Vulkan* APIs 來以平行方式繪製物件

由於小弟還沒花時間學 Vulkan, 因此對於此類文章抵抗力很差
這篇是 Intel 提供的 Vulkan 的簡短教學文, 文章透過說明 UI, load module 與 rendering 三個程式組成部分來說明如何使用 Vulkan 搭配 Qt 來撰寫 3D Graphics 應用程式, 文章重點的段落為:
  • MainWindow.cpp: 為 UI 主要部分,並負責 3D model 載入與流程控制
  • Renderer.cpp: 由於 Vulkan 的複雜程度,因此最大的挑戰即為針對 VulkanWindow 的邏輯來實作 Renderer 的部分 (文中的 renderer.cpp 與 vulkanwindow.cpp 連結失效, 到此下載範例原始程式)
  • Rendering Result May Vary: 由於 CPU,GPU與系統的其他因素以及物件檔的大小將決定 single thread 和 multi-threaded 繪圖的時間. 且結果可能會各有所不同.
  • Function 1: void Renderer::startNextFrame():如何使用 Vulkan API 來載入物件.
  • Function 2: Renderer::endFrame(): 指示 Vulkan 所有的 command buffersu 已準備好來繪圖.
  • Function 3: Renderer::drawObject(): 準備將 command buffers 傳送給 GPU

沒有留言:

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...