webgl - 带有 if 语句的 WebGL 颜色图定义
问题描述
我对 WebGL 有点陌生,我正在尝试显示类似于颜色图的东西。本质上,我有一个每点的变量,我想根据它选择一种颜色。例如:
varying float point_label;
void main()
{
vec4 fragColor = vec4(1.0, 1.0, 1.0, 1.0);
if (point_label == 0.0)
{
fragColor = vec4(1.0, 0.0, 1.0, 1.0);
}
else if (point_label == 2.0)
{
fragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
else if (point_label == 3.0)
...
...
}
在我的情况下point_label
是[0-7]
. 有人告诉我,像这样长的 if-else 语句效率低下。如果不这样做,最有效的处理方法是什么?如果可能的话,不要创建额外的文件(建议我使用纹理和 ThreeJS LUT,但我宁愿不创建额外的文件)。是的,我得到的标签是一个浮点值,但它总是一个自然数。
解决方案
推荐阅读
- pandas - Pandas 数据透视表可在不聚合的情况下转置列
- python - 当我在 rnn 模型中使用 for 循环时,向后失败
- maven - 有没有什么地方可以下载org.springframework.web?
- css - 使用 Angulars [ngStyle],我可以动态设置背景的不透明度而不影响覆盖文本吗?
- pointers - 作弊引擎 - 如何从 6 字节地址跟踪指针?
- scala - 斯卡拉减少左:0.asInstanceOf[B]
- java - 谁能告诉我如何在 find() 中使用过滤器
- linux - Linux 共享对象如何检测它是在标准内核还是实时内核上执行的?
- xamarin.forms - xamarin形成顶部状态栏android的背景颜色
- node.js - Azure 通知中心如何向 nodejs 注册 Id?