Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
@dseaice 顶点函数的入口已经在Common_vert里面定义了,vert函数只是顶点入口函数里面的一个中间调用
@duolaxisuo 自己自顶一波: https://www.orillusion.com/zh/wgsl.html https://www.orillusion.com/zh/explainer.html https://www.orillusion.com/zh/webgpu.html hhh😂
@shuangliu 谢谢解惑
@shuangliu 谢谢,很好的建议
在 VSCode 中安装名为 wgsl-analyzer 的插件,目前已支持:语法高亮、类型检查、基础的代码格式化 功能。
兼容的方案性价比有点低,本身webgpu不支持对应的标准和api,非要做则需要引擎额外预编译或js加载时实时转换,相关工作量很大,且很多api很难兼容,需要增加大量冗余的代码,甚至要引入wasm来运行一些底层编译库,导致最后引擎编译的版本体积也会大大增加,并不是一个好方案
w3c的doc国内可能不容易打开,可以参看Orillusion的官方翻译 https://www.orillusion.com/zh/wgsl.html#var-and-let
并没有绝对的优势,劣势,最后都会编译成assembly。Cg 和 HLSL 几乎相同(相同的内置函数名称)。 GLSL 的语法有点不同(比如用 mix 代替 lerp,使用类似 main 的函数),但整体过渡仍然很容易。 唯一的区别在于细节和各自的 API(比如矩阵存储顺序之类的)。
@optics 可以参考这篇文章 https://thebookofshaders.com/10/?lan=ch
@zmr wgsl里可以直接进行matrix矩阵相乘运算 https://www.orillusion.com/zh/wgsl.html#arithmetic-expr
多说一点,任何代码其实只是一行行的string character,最后都会通过编译器编译成对应的assembly,然后再去执行。矩阵乘法运算就是对应到wgsl里面build-in的function
另外,js不支持符号重载,就是不可以对已有的运算符重新进行定义。所以做运算最好通过function来实现