ios - GLSL - 更改为 vec3 颜色

标签 ios opengl-es glsl shader openframeworks

我在着色器方面是个新手,几个小时以来一直在努力解决这个问题……我在 glslsandbox 上找到了一个绘制简单网格的着色器。我试图了解如何将网格的颜色从一位小数更改为 vec3 颜色。

float x = gl_FragCoord.x - gl_FragCoord.y;
float y = gl_FragCoord.y + gl_FragCoord.x;
bool grid = mod(x, CELL_SIZE) < LINE_WIDTH || mod(x, CELL_SIZE) < LINE_WIDTH;
float color = grid ? 1.0 : 0.0; 
gl_FragColor = vec4( vec3( color ), 0.2 );

我需要更改的行是

float color = grid ? 1.0 : 0.0; 

这只允许我使用黑色、白色和灰色。关于如何将两种颜色都更改为 vec3 有什么想法吗?

最佳答案

虽然我还没有测试过,但像下面这样的东西应该可以工作:

lowp vec3 gridColor = vec3(0.5,0.5,0.0);
lowp vec3 nonGridColor = vec3(0.5,0.0,0.5);
vec3 colorv = grid ? gridColor : nonGridColor;
gl_FragColor = vec4( colorv, 0.2 );

关于ios - GLSL - 更改为 vec3 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34975981/

相关文章:

ios - 都是同步的,但是为什么 "ignoring”函数的NotificationQueue可以重复通知呢?

java - 将属性传递到着色器 Libgdx

c++ - GLSL编译失败,没有错误日志

ios - UITableView 内容大小小于预期

iphone - 如何修改UIDatePicker的内容?

ios - 自 iOS6 以来,GLKTexture 未正确映射

android - 某些手机​​上的 gl 纹理错误

java - 使用 libgdx Actor 类和 SpriteBatch 绘制网格几何体

unity3d - 为片段着色器 (GLSL) 添加 alpha 支持

ios - UINavigationBar 不延伸到状态栏后面