Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios上的统一mvp矩阵_Ios_Unity3d_Cg - Fatal编程技术网

ios上的统一mvp矩阵

ios上的统一mvp矩阵,ios,unity3d,cg,Ios,Unity3d,Cg,我正在进行水模拟,我需要对CameraDepthTexture进行采样以获得不透明的深度,它在Windows上运行良好。但着色器在IOS上的深度不同 vert: o.pos = mul (UNITY_MATRIX_MVP, v.vertex); o.ref = ComputeScreenPos(o.pos); COMPUTE_EYEDEPTH(o.ref.z); frag: uniform sampler2D_float _CameraDepthTexture; float

我正在进行水模拟,我需要对CameraDepthTexture进行采样以获得不透明的深度,它在Windows上运行良好。但着色器在IOS上的深度不同

vert:
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);           
o.ref = ComputeScreenPos(o.pos);
COMPUTE_EYEDEPTH(o.ref.z);
frag:
uniform sampler2D_float _CameraDepthTexture;
float raw_depth = UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(uv2)));
在windows上,原始深度约为0.98,但在IOS上,原始深度约为0.51。
我想这一结果与不同平台的MVP有关。

。。。尝试
o.pos=UnityObjectToClipPos(v.vertex)
。如果将是未声明的标识符UnityObjectToClipPos,请使用
#包括“UnityCG.cginc”
或下载新的unity版本。事实上,我从来没有遇到过这种情况。谢谢你的回答,但它不起作用,我已经找到了解决方案,我找到了这些公式
GL:zn=zc/wc=(fz+nz+2nf)/((f-n)z);DX/金属:zn=zc/wc=(fz+nf)/(f-n)z)DX/Metal
使用相同的公式。我发现了一些关于矩阵的东西,也许会有帮助。谢谢,我发现了问题所在。它与MVP、mac或ios无关优化渲染步骤,如果没有灯光或图像效果,则关闭updateCameraDepthTexture,因此CameraDepthTexture中的值为默认值,在脚本中,我们应添加`Camera cam=Camera.current;cam.depthTextureMode=depthTextureMode.Depth;`。隐马尔可夫模型。。。尝试
o.pos=UnityObjectToClipPos(v.vertex)
。如果将是未声明的标识符UnityObjectToClipPos
,请使用
#包括“UnityCG.cginc”
或下载新的unity版本。事实上,我从来没有遇到过这种情况。谢谢你的回答,但它不起作用,我已经找到了解决方案,我找到了这些公式
GL:zn=zc/wc=(fz+nz+2nf)/((f-n)z);DX/金属:zn=zc/wc=(fz+nf)/(f-n)z)DX/Metal
使用相同的公式。我发现了一些关于矩阵的东西,也许会有帮助。谢谢,我发现了问题所在。它与MVP、mac或ios无关优化渲染步骤,如果没有灯光或图像效果,则关闭updateCameraDepthTexture,因此CameraDepthTexture中的值为默认值,在脚本中,我们应添加`Camera cam=Camera.current;cam.depthTextureMode=depthTextureMode.Depth;`。