DX11 十五 輸入布局一致性

2021-10-07 21:55:22 字數 1688 閱讀 4920

07/08/2020

輸入布局的語義與hlsl結構體中的語義保持一致

輸入布局的順序與c++結構體宣告順序保持一致

總結輸入布局通常由頂點來使用

typedef

struct d3d11_input_element_desc

//描述輸入布局

//例子1

const d3d11_input_element_desc inputlayout[2]

=,};

//例子2

const d3d11_input_element_desc inputlayout[2]

=,,//語義索引

};

語義通常是附加在著色器輸入/輸出引數上的字串。它在著色器程式的用途如下:

hlsl檔案中分號後面的語義名字,需要和描述結構體中保持一致

//hlsl 

//例子1

struct vertexin

;//例子2

struct vertexin

;

//c++

struct vertexposcolor

;//宣告順序與語義定義保持一致,否則無法畫出

struct vertexposcolor

;//c++ pos 和color 宣告順序不能打亂

const d3d11_input_element_desc inputlayout[2]

=,};

//初始化順序保持一致

vertexposcolor vertices[3]

;//乙個三角形座標

//初始化方式1

vertexposcolor vertices[3]

;vertices[0]

.pos =

xmfloat3

(0.0f

,0.5f

,0.5f);

vertices[0]

.color =

xmfloat4

(0.0f

,1.0f

,0.0f

,1.0f);

vertices[1]

.pos =

xmfloat3

(0.5f,-

0.5f

,0.5f);

vertices[1]

.color =

xmfloat4

(0.0f

,0.0f

,1.0f

,1.0f);

vertices[2]

.pos =

xmfloat3(-

0.5f,-

0.5f

,0.5f);

vertices[2]

.color =

xmfloat4

(1.0f

,0.0f

,0.0f

,1.0f);

//初始化方式2, 順序保持一致性的必要性

vertexposcolor vertices=

, ,

*/,,

};

注意:如果順序不一致,會導致頂點資料賦值錯誤

強一致性 弱一致性 最終一致性

這種方式在es等分布式系統中也有體現,可以設定主shard提交即返回成功,或者需要replica shard提交成功再返回。提到分布式架構就一定繞不開 一致性 問題,而 一致性 其實又包含了資料一致性和事務一致性兩種情況,本文主要討論資料一致性 事務一致性指acid 複製是導致出現資料一致性問題的唯...

一致性雜湊

直接貼出一篇介紹的很清楚的博文。關鍵字一致性雜湊 平衡性,單調性,分散性,負載 其實說白了,就是解決把請求分散到不同的機器上運算,怎麼做分散的平均,機器少一台多一台,或者壞掉一台,成很好的自適應和拓展。最簡單的實現分布式演算法,取模嘛,但是它就上述的一些問題,所以不算好的雜湊函式。一致性雜湊演算法,...

一致性雜湊

from 學習分布式,一致性雜湊是最最基礎的知識,所以要理解好.那什麼是一致性雜湊呢?what 1.平衡性是指 hash的結果應該平均分配到各個節點,這樣從演算法上就解決了負載均衡問題.2.單調性是指 在新增或者刪減節點時,同乙個key訪問到的值總是一樣的.3.分散性是指 資料應該分散的存放在 分布...