草庐IT

ComputeShader

全部标签

unity用ComputeShader做模型流体喷涂喷绘工具

最近在研究喷涂喷绘项目,需要做大量纹理图形运算,因此更适合用GPU来处理,在unity中用ComputeShader完成像素运算,SurfaceShader完成纹理渲染。实现思路:1.用射线碰撞模型,得到碰撞纹理坐标brushX和brushY2.ComputeShader拿到brush坐标,在纹理相应的位置做像素运算,并输出纹理ComputeTexture3.通过SurfaceShader渲染纹理管理代码:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEditor.VersionCon

基于Unity ComputeShader 实现正向DIBR

什么是DIBR?就是根据1张或者n张带有深度信息的图片,也就是RGBD图,通过插值的方式,生成出虚拟视点下的效果图。深度信息如果不够精确,效果上,容易出现一些错误。以及视角的变化,导致一些信息不足,会存在空洞问题。如果在Unity中怎么实现呢。通过DIBR算法,在场景中预制两个相机,通过脚本分别获取颜色图和深度图。然后通过computeshader,将两个深度图插值为中间视点的图。根据几何关系,可以推导出左右视图的关系。相关像素的水平视差 dispararity满足如上公式。这是针对一般用相机拍摄的图片来说的。f代表相机的焦距。在unity下的相机,没有焦距的概念。怎么办呢。由于以上公式,都是

基于Unity ComputeShader 实现正向DIBR

什么是DIBR?就是根据1张或者n张带有深度信息的图片,也就是RGBD图,通过插值的方式,生成出虚拟视点下的效果图。深度信息如果不够精确,效果上,容易出现一些错误。以及视角的变化,导致一些信息不足,会存在空洞问题。如果在Unity中怎么实现呢。通过DIBR算法,在场景中预制两个相机,通过脚本分别获取颜色图和深度图。然后通过computeshader,将两个深度图插值为中间视点的图。根据几何关系,可以推导出左右视图的关系。相关像素的水平视差 dispararity满足如上公式。这是针对一般用相机拍摄的图片来说的。f代表相机的焦距。在unity下的相机,没有焦距的概念。怎么办呢。由于以上公式,都是