我想为OpenGL ES和OpenGL(Windows)提供相同的着色器源代码。为此,我想定义自定义数据类型并仅使用OpenGL ES函数。OpenGL ES和OpenGL兼容着色器
一种方法是定义:
#define highp
#define mediump
#define lowp
为Windows着色器和写着色器,因为它是OpenGL ES的。
另一种方法是这样定义的自定义数据类型的OpenGL ES:
#define hvec2 highp vec2
像这样为Windows
#define hvec2 vec2
你觉得什么是好?你有解决这个问题的其他解决方案吗?
有谁知道这是如何工作的?我已经浏览了规范,但找不到与GLSL ES(版本100)和GLSL(版本150)完全兼容有关的任何内容。 – 2016-06-23 17:18:17
为了将来的参考,我发现在ES2_compatibility下,OpenGL 3.2>上下文可以在顶部加载#version 100的ES 2.0着色器。 – 2016-06-25 15:37:05