GCC, stringification, and inline GLSL?

前端 未结 5 982
孤城傲影
孤城傲影 2020-11-29 08:37

I\'d like to declare GLSL shader strings inline using macro stringification:

#define STRINGIFY(A)  #A
const GLchar* vert = STRINGIFY(
#version 120\\n
attribu         


        
5条回答
  •  不知归路
    2020-11-29 09:05

    Can you use C++11? If so you could use raw string literals:

    const GLchar* vert = R"END(
    #version 120
    attribute vec2 position;
    void main()
    {
        gl_Position = vec4( position, 0.0, 1.0 );
    }
    )END";
    

    No need for escapes or explicit newlines. These strings start with an R (or r). You need a delimiter (I chose END) between the quote and the first parenthesis to escape parenthesis which you have in the code snippet.

提交回复
热议问题