頂点バッファを使わず全画面に描画する頂点シェーダ

いつも忘れるのでメモしておきます。

バリエーションは今後増える予定。

■GLSL ES 3.0

#version 300 es
in int gl_VertexID;
void main() {
int x = (gl_VertexID & 1) * -2 + 1;
int y = (gl_VertexID & 2) * -1 + 1;
gl_Position = vec4(x, y, 0, 1);
}
#version 300 es
in int gl_VertexID;
out vec2 vs_texcoord;
void main() {
int x = (gl_VertexID & 1) != 0 ? 1.0 : 0.0;
int y = (gl_VertexID & 2) != 0 ? 1.0 : 0.0;
gl_Position = vec4(vec2(x, y) * 2.0 - 1.0, 0, 1);
vs_texcoord = vec2(x, y);
}

TODO

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中