原创 Vulkan【14】頂點緩衝區

創建頂點緩衝區 本節的代碼是 13-init_vertex_buffer.cpp 頂點緩存是一個CPU可見的和GPU可見的緩衝區,它包含了描述您想要呈現的對象(s)的幾何圖形的頂點數據。一般來說,頂點數據由位置(x、y、z)數據和可選的顏

原创 Vulkan【13】FrameBuffers

創建Framebuffers 本節的代碼是 12-init_frame_buffers.cpp Vulkan Framebuffer Framebuffer表示一個渲染過程實例所使用的內存附件集合。這些內存附件的例子包括我們在以前的示例中

原创 Vulkan【10】創建描述符集合

創建描述符集合 本節的代碼是 09-init_descriptor_set.cpp 回到“管線佈局”示例,你定義了描述符集合佈局,但並沒有真正爲它分配內存。回想一下,您定義的描述符集用於通知GPU如何將uniform 緩衝區中包含的數據映

原创 PyMongo初級使用教程

教程 這篇教程主要介紹了MongoDB和PyMongo的初級使用. 準備工作 在我們開始前,請確保你已經安裝了PyMongo的發行版本。在Python命令行模式下,執行下面的指令應當不會報出異常: >>> import pymongo 這

原创 Vulkan【1】介紹

Vulkan介紹 Vulkan是由Khronos組織開發的一種高級圖形API。其他圖形API(像OpenGL和Direct3D)需要驅動去將上層API翻譯成適合硬件執行的指令。這些圖形API是爲了使開發者不需要關注複雜的圖形硬件細節。

原创 Vulkan【6】創建一個交換鏈

創建一個交換鏈 本節的代碼是 05-init_swapchain.cpp 本節描述如何創建交換鏈,它是最終顯示給用戶的圖像緩衝區列表。這是建立呈現所需的所有緩衝區所需的第一個步驟之一。 這是一個關於交換鏈的視圖,它與系統的其他部分有關。其

原创 Vulkan教程(官方教程翻譯版)

翻譯記錄: 2018.9.1更新“Uniform緩衝區”章節 歡迎來到Vulkan示例教程 本教程以章節的方式一步一步指導你創建一個簡單的Vulkan程序。 每個教程章節都對應一個示例程序,可以閱讀這個示例程序,並可在實際編碼中進行

原创 QQuickView使用注意事項

2017.2.27更新: QQuickView的setSource會初始化QML。

原创 Vulkan【9】描述符集合層和管線層(Descriptor Set Layouts and Pipeline Layouts)

描述符集合層和管線層 本節的代碼是 08-init_pipeline_layout.cpp 在前面的例子中,您創建了一個uniform 緩衝區,但是您沒有告訴着色器該如何使用它。緩衝區包含了MVP轉換的Uiform變量,它只會被頂點着色器

原创 Vulkan【7】創建深度緩衝區

創建深度緩衝區 本節的代碼是 06-init_depth_buffer.cpp 深度緩衝區是可選的,但在示例最後渲染3D方塊時,你需要一個深度緩衝區。而且在渲染每幀時,你只需要一個,即使交換鏈裏有不止一個圖像。因爲深度緩衝區在交換鏈的圖像

原创 AndroidStudio開發環境配置

1.操作系統要求 Windows 7以上操作系統,至少6GB內存(建議8GB) 2.配置JDK 2.1.安裝JDK http://www.oracle.com/technetwork/java/javase/downloads/index

原创 Java中的Enum

java中的enum可以像class一樣。事實上可以把enum中每個枚舉值當成是enum類型的對象。以下是示例: public enum PlayMode { RPT_OF_ALL(1, "全部循環"), RPT_OF_S

原创 Vulkan【4】創建一個邏輯設備

創建一個邏輯設備 本節的代碼是 03-init_device.cpp 下一步是創建一個VkDevice邏輯設備對象,它對應於系統上的一個物理設備。邏輯設備是稍後用於將圖形命令定向到硬件的關鍵對象。 到目前爲止,我們的示例已經確定了你有多少

原创 Vulkan【8】創建Uniform緩衝區

創建Uniform緩衝區 本節的代碼是 07-init_uniform_buffer.cpp Uniform緩衝區是一個訪問只讀着色器的緩衝區,以便着色器可以讀取常量參數數據。 這是另一個你必須在Vulkan程序中執行的步驟。在GLES中

原创 Linux下的C++程序崩潰時打印崩潰信息

概述 在某些極端情況下,原本正常執行的程序發生了崩潰。這時候想通過調試是很難發現出錯的地方的,所以在崩潰時打印出錯點的調用堆棧是十分有必要的。 使用的命令:catchsegv program [args] 例如:我們的程序是test,則