LoginSignup
papurupipo246
@papurupipo246 (なすび)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

glslで複数のシェーダの使い方

解決したいこと

glslにて複数のシェーダを使う際どうすればよいかを知りたいです。具体的には、

image.png

のように複数のモデルのデータを個別のシェーダで処理し、最後に一つのバーテックスシェーダで処理してフラグメントシェーダに出力するといった流れにしたいです。

一般的なopenGLでしたらどんな言語でも構わないので、複数のシェーダを使用する際の初期化生成の手順を教えて頂きたいです。

現在、シェーダ側は上図の左側から順に以下のように実装してます。

#version 150 core

in vec3 pos; // 頂点座標
in vec4 color; // 頂点属性

out vec3 pos_1;
out vec4 color_1;

void main() {
    pos_1 = pos;
    color_1 = color;
}

#version 150 core

in vec3 pos_1;
in vec4 color_1;

out vec4 color_2

void main() {
    color_2 = color_1;
    gl_Position = pos_1;
}

#version 150 core

in vec4 color_2;

out vec4 fragColor;

void main() {
    fragColor = color_2;
}

0

No Answers yet.

Your answer might help someone💌