Uniform Blocks

本物のページはこちら→uniform-blocks

Included page "uniform-blocks" does not exist (create it now)

ユニフォーム変数はテクスチャサンプラ以外は、uniform blocksと呼ばれるグループでいっしょくたにされる。
c言語でいうところの構造体のようなものである。
layout修飾子でいくらかuniform blocksに関する設定を変えることができる。

uniform blockの設定を変えるlayout修飾子

shared…..デフォルトのlayout修飾子はである。
使っていない変数を、ストレージから排除することを許さない。
packed….使っていない変数をストレージから排除することを許す。ので、ユニフォームバッファサイズの節約になる。

layout(packed) uniform surfaceProperties{
    vec4 BaseColor;
    vec4 RustColor;
};

std140…どっかのアイドルグループみたいな名前だけど、使っていない変数を排除することを禁止して、ユニフォームバッファに要素がどのように配置されるかを指図することができる。

サポートサイト Wikidot.com layout-qualifer