这条线究竟做了什么
ra.rgb * ra.w / max(ra.r, 1e-4) * (bR.r / bR);
Run Code Online (Sandbox Code Playgroud)
我很困惑的部分是如何翻译
(bR.r / bR);
Run Code Online (Sandbox Code Playgroud)
一个浮点除以vec3?我想将它转换为C++,但是返回一个浮点除以向量的所有元素是什么?等等
(无法访问显卡进行检查?)
这是按组件划分的示例,其工作原理如下:
\n\n\n\n\n如果操作数中的基本类型不匹配,则应用第 4.1.10节 \xe2\x80\x9cImplicit Conversions\xe2\x80\x9d中的转换来创建匹配类型。[...]转换后,以下情况有效:
\n\n\n\n[...]
\n\n\n
\n- 一个操作数是标量,另一个操作数是向量或矩阵。在这种情况下,标量运算独立地应用于向量或矩阵的每个分量,从而产生相同大小的向量或矩阵。
\n
vv vec3\n(bR.r / bR);\n ^ float\nRun Code Online (Sandbox Code Playgroud)\n\n标量bR.r本质上被提升为vec3 (bR.r, bR.r, bR.r),然后执行分量除法,得到vec3 (bR.r/bR.r, bR.r/bR.g, bR.r/bR.b)。
vec3 (1.0, bR.r/bR.g, bR.r/bR.b)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
414 次 |
| 最近记录: |