0

このチュートリアルThe First Triangleに従うのに問題があります。私は実際に最初の部分を機能させることができましたが、頂点シェーダーに関しては機能しません。

ここに私の頂点シェーダーコードがあります:

#version 330 core

// Input vertex data, different for all executions of this shader.
layout(location = 0) in vec3 vertexPosition_modelspace;

void main(){
gl_Position.xyz = vertexPosition_modelspace;
gl_Position.w = 1.0;
}

これはチュートリアルの単なるコピーですが、このエラーが表示されます: gl_Position に書き込む必要があります。

今何をすべきかわからないだけです。

編集: GeForce 9500GT と 319.32 ドライバーを使用しています

EDIT2:実際には古いバージョンでも同じことがありましたが、同じエラーがあります。コードは次のとおりです。

#version 120
// Input vertex data, different for all executions of this shader.
attribute vec3 vertexPosition_modelspace;

void main(){

gl_Position = vec4(vertexPosition_modelspace, 1.0);

}

EDIT3: デフォルトのライブラリとして SFML を使用しています。

4

2 に答える 2

-3

シェーダー ファイルに一度に複数の改行 [0D0A] が連続して含まれている場合、またはそれらが 0D または 0A のみで構成されている場合は、悪い日になります。

良い ->

#version 330 core
in vec3 ourColor;
out vec4 color;
void main()
{
    color = vec4(ourColor, 1.0f);
}

悪い ->

#version 330 core

in vec3 ourColor;

out vec4 color;

void main()
{
    color = vec4(ourColor, 1.0f);
}

少なくともそれは私のために働いたものです...

于 2015-08-27T20:03:56.720 に答える