![](/img/trans.png)
[英]OpenGL HeightMap with vertex shader and QGLShaderProgram
[英]QGLShaderProgram OpenGL shaders
嘗試鏈接片段着色器時出現以下錯誤,
QGLShader :: compile(Fragment):0(4):錯誤C0000:語法錯誤,意外的“。”,在標記“。”處期望“ ::”。
我只是想實現一個簡單的片段着色器,將顏色設置為綠色。
我的頂點着色器(正在運行)文件名shader.vert
#version 430
in layout(location=0) vec2 position;
void main()
{
gl_Position = vec4(position, 0.0, 1.0);
}
我的片段着色器shader.frag
的代碼
#version 430
out vec4 finalColour;
void main()
{
finalColour = vec4(0.0, 1.0, 0.0, 1.0);
}
鏈接QGLShaderProgram mProgram
的代碼
//Add Shaders
if (!mProgram.addShaderFromSourceFile(QGLShader::Vertex, "shader.vert")) {
error_msg("Vertex shader load failed");
}
if (!mProgram.addShaderFromSourceCode(QGLShader::Fragment, "testShader.frag")) {
error_msg("Fragment shader load failed");
}
if (!mProgram.link()) {
error_msg("Cannot link shaders");
}
mProgram.bind()
addShaderFromSourceCode(,code)的第二個參數
您必須在此處提供文件的內容而不是文件本身的名稱,您可以將此代碼放入函數中並使用它來加載文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.