原创 着色器(Shader)之像素着色器

像素着色器實際上就是對每一個像素進行光柵化的處理期間,在GPU上運算的一段程序。 不同與頂點着色器,像素着色器不會以軟件的形式來模擬像素着色器。 像素着色器實質上是取代了固定功能流水線中多重紋理的環節,而且賦予了我們訪問單個像素以及訪問每

原创 高級着色語言HLSL小入門

使用HLSL語言編寫頂點着色器和像素着色器, 頂點着色器和像素着色器本質使我們自己編寫的定製程序,這些程序可以幫助我們取代功能流水線中的某一塊功能, 然後在圖形卡的GPU中執行。 通過這種變換,我們在實現圖像效果的時候就有了更大的的靈活性

原创 DX9中的3D拾取

先來簡單介紹一下有關3D拾取的相關概念。我們通常使用鼠標點擊屏幕中的物體,然後當我們點中這個物體的時候,物體做出一些反應。比如在遊戲中:我們點擊地上的寶箱,然後當我們點擊到寶箱上面的時候,寶箱打開,這就是一次拾取的過程。 之前的博客有講解

原创 粒子系統的繪製

粒子系統在上一篇博客中簡單介紹了一下:DirectX中的粒子系統 現在我們知道,粒子系統是動態的,我們必須每一幀都去更新這個粒子系統,有一種直觀但是效率不高的方法如下: 1、更新所有粒子的狀態 2、創建一個足夠容納粒子系統中最大粒子數目的

原创 DirectX中的粒子系統

自然界中有現象包含了大量的行爲相同的,微小粒子,比如:雪花,煙火等,粒子系統通常用來描述這些場景。 粒子是自然界中一種微小的東西,所以顯示例子的最好的方法就是使用點圖元,但是點圖元在被光柵化的時候會被映射爲一個像素,此時我們就無法去靈活的

原创 煙火的粒子系統實現介紹

之前的兩篇博客介紹了粒子系統和粒子系統中的繪製:DirectX中的粒子系統和粒子系統的繪製 其中介紹的也是粒子系統中比較通用的方法以及屬性,但是具體的粒子系統還是需要根據自己的情況來添加一些新的方法,現在我們就來簡單的看一下實現一個具體的

原创 頂點緩存對象(VBO)和頂點數組對象(VAO)以及頂點數組(VA)的關係

在區分VBO以及VAO之前,我們先來了解其他的幾個概念:glvertex,glCallList(顯示列表),VA(頂點數組)。 一、glvertex glvertex是最原始的設置頂點的方式,在glBegin和glEnd之間使用,每設置一

原创 什麼是DirectX

因爲最近一直在看DirectX9的有關基礎,以此來熟悉一下基礎的遊戲開發概念,但是基礎的概念熟悉了,有關的發展信息也是要熟悉一下,但是一直很模糊,相信初次接觸遊戲開發的朋友有聽過DX,OpenGL,Metal 3D等,但是又不是很清楚他們

原创 預編譯和預編譯頭的概念以及使用

什麼是預編譯? a,預編譯就是在編譯代碼之前的一些先前的處理工作 b,處理一些以"#"開頭的指令       #inlcude "頭文件"       #define 宏定義       條件編譯等 預編譯指令就是在正式編譯之前由編譯器編

原创 構建Vuforia官方Demo(IOS端)

Vuforia是一個有關AR的第三方庫,關於給出了三個可以直接運行的Demo,有ios,Andriod以及Unity平臺,可以直接運行。 自己找資料,構建了一下ios的Demo,不是很複雜,過程如下: 下載SDK以及Demo的工程: ht

原创 Xcode調試:不讓他進入彙編,只在源代碼中調試

使用Xcode進行調試的時候,進場直接就搞進去彙編了~很難受,看見彙編就頭大,     Xcode只在源怎麼使得代碼中進行調試呢: 按照下圖順序點擊之: 是把:Always Show Disassembly前面的勾取消掉哦! 然後,就又

原创 Xcode 出現 Could not locate device support files解決辦法

2018-05-02 新增iOS11.2、iOS11.3支持  2017-11-07 新增iOS11.1支持  2017-06-21 新增iOS11支持,若要支持iOS11,Xcode至少使用8.3  Xcode 出現 Could not

原创 Direct庫中找不到 DirectX Texture Tool

在Direct3D的書中看到有DirectX Texture Tool的描述,指定了其在SDK中的路徑。 可是到了該路徑下卻找不到有叫DirectX Texture Tool的可執行文件。 後來發現,原來是DxTex.exe   文章出處

原创 Direct3D基礎——光照的組成、材質、頂點法線、光源

爲了增強所繪製的場景的真實感,我們會爲場景增加光照,使用光照來描物體的立體感。使用光照的時候,我們就無需描述頂點的顏色,Direct3D會將頂點送入光照計算引擎,然後引擎根據光源類型,材質以及物體表面和相對於光源的朝向等等,計算出內個頂點

原创 在屏幕繪製兩個三角形(平面着色模式和Gouraud着色模式)

該例程有三個文件:d3dUtility.cpp,colorTriangle.cpp,d3dUtility.h 關於d3dUtility.cpp以及d3dUtility.h兩個文件裏面內容在博客:Direct3D初始化例程中有詳細的解釋以及