【问题标题】:GLSL (WebGL) equivalent for RWTexture2D<float4>RWTexture2D<float4> 的 GLSL (WebGL) 等效项
【发布时间】:2021-07-04 09:22:30
【问题描述】:

tl;博士:

我是着色器新手,我正在尝试将 HLSL 着色器移植到 GLSL。
RWTexture2D&lt;float4&gt; whatever; 的 GLSL 等效项是什么?

我需要在着色器中以编程方式创建纹理。

加长版:

我正在尝试将“粘液着色器”从this video 移植到 GLSL,并将其加载到网页中(目前我正在使用 Three.js)。 我设法编写了伪随机 hash 函数并在屏幕上显示噪音,但现在我卡住了。
(Here's the HLSL shader code)

在原始着色器中有这样的内容:RWTexture2D&lt;float4&gt; TrailMap;,我找不到在我的着色器中制作类似内容的方法。我在网上找到的所有信息都是关于加载外部纹理的,但我需要的是在着色器内部创建和修改的纹理(在我看来,GLSL 处理纹理的方式对初学者不太友好)。

我也尝试过使用this converter。我得到的是uniform image2D TrailMap;,但它给了我这个错误:

'image2D' : 非法使用保留字

我错过了什么?

【问题讨论】:

  • 尝试用sampler2D替换image2D
  • @Rojo:你不能写入采样器。

标签: glsl shader webgl hlsl


【解决方案1】:

WebGL 无法访问image load/store,无法在着色器中任意修改图像数据。转换器正在做正确的事情,但 WebGL 根本不提供对该硬件功能的访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多