Orillusion / orillusion

Orillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard.
https://www.orillusion.com
MIT License
4.97k stars 621 forks source link

[FR]: 每一个材质允许有多个RenderShaderPass,是什么处于什么目的设计的? #443

Open Davidyanlong opened 2 months ago

Davidyanlong commented 2 months ago

每一个材质中,都有RenderShaderPass, 然后添加到 passShader中,目前看到的材质都是包含一个RenderShaderPass image fce58daf265596155e53473ba265502 这里这样设计的目的是不是如同Unity3D 中的shader, 支持subShader的概念,为后续的兼容做处理的 4cbeb6374c35ecdbff4e0a734c6e915

JingwenBai commented 2 months ago

首先非常感谢能这样深入的研究Ori的底层代码!

总体来说,您的思考和判断是对的。这样设计的确是为了后续兼容做考量。但是,目前完成度还不高,后续会慢慢跟进的!

Davidyanlong commented 2 months ago

非常高兴收到您的回复, 在渲染管线中,相同的材质,可能会针对不同的几何体可能会产生不同的渲染管线,材质与管线不是一对一的关系,这里是否可以考虑一下?

JingwenBai commented 2 months ago

这样说有点儿太范了

方便的化可以提供几种不同的几何体素材,然后用我们引擎后,发现了什么不对的地方或者bug,我们可以确定的回复~

Davidyanlong commented 2 months ago

例如,这个模型渲染,地面的标线就是错误的 [Uploading 地面.zip…]() image

Davidyanlong commented 2 months ago

[Uploading 地面.zip…]()

orillusion-admin commented 2 months ago

方便共享下代码和资源么~

Davidyanlong commented 2 months ago

模型上传了两此都没成功,我再传一次 地面.zip

代码就是用我们PRBMaterial的示例

Davidyanlong commented 2 months ago

代码就是用我们PRBMaterial的示例, 导入的模型使用上面附件中的模型, 相机的near 更改为1就可以了,移动模型会看到地面的标线闪烁,正反面错误问题