我正在使用一个名为'glslcc'的shader transpiler tool,它支持到glsl的转换。但是我认为GLSL输出是Vulkan GLSL,因为它包含如下内容,但我可能是错误的。
layout(std140) uniform u_Test
{
vec4 test;
} _34;
这个着色器能在OpenGL中工作吗?如果不能,有没有办法从这个格式转换成其他格式,这样它就可以在OpenGL中加载?
我正在使用一个名为'glslcc'的shader transpiler tool,它支持到glsl的转换。但是我认为GLSL输出是Vulkan GLSL,因为它包含如下内容,但我可能是错误的。
layout(std140) uniform u_Test
{
vec4 test;
} _34;
这个着色器能在OpenGL中工作吗?如果不能,有没有办法从这个格式转换成其他格式,这样它就可以在OpenGL中加载?
1条答案
按热度按时间ef1yzkbh1#
这是一个统一块,当然可以与OpenGL一起使用(另请参阅Uniform Buffer Object)。此代码中没有Vulkan独占声明。Layout Qualifier
std140
是在OpenGL 3.1中引入的。请参阅The OpenGL® Shading Language, Version 4.60.7。