美文网首页
关于IN.screenPos.z的平台差异

关于IN.screenPos.z的平台差异

作者: mp123 | 来源:发表于2019-11-07 14:20 被阅读0次
DX平台下使用screenPos.z的效果
OpenGL平台下使用screenPos.z的效果

原因:当我们把顶点从裁剪空间投影到屏幕空间中,需要进行透视除法(Perspective Division),就是用其次坐标系的w分量去除以x、y、z分量,得到的坐标叫做归一化的设备坐标(Normalized Device Coordinates),现在所有的坐标都位于一个立方体内,在OpenGL中,x、y、z的范围为[-1,1],但是在DirectX中,x、y的范围值[-1,1],z的范围却是[0,1]。

顶点的空间变换过程

解决办法:

 float screenZ;
                #if (defined(SHADER_API_GLES) || defined(SHADER_API_GLES3)) && defined(SHADER_API_MOBILE)
                    screenZ = Linear01Depth((i.screenPos.z + 1.0f) * 0.5f);                             
                #else
                    screenZ = Linear01Depth(i.screenPos.z);             
                #endif

相关文章

  • 关于IN.screenPos.z的平台差异

    原因:当我们把顶点从裁剪空间投影到屏幕空间中,需要进行透视除法(Perspective Division),就是用...

  • 关于选品的学习笔记

    01 关于选品主要做好三个方面的工作: ➊ 看数据 ➋有差异化 ➌竞争对手 首先要看平台的数据,关注平台的各大榜单...

  • ios和andriod交互规范的区别

    【为什么要区别】 按照平台规范来设计APP,尊重不同平台的用户习惯,提升用户体验 ,保持不同平台差异性,同时差异不...

  • 关于差异

    我们都知道冬天~很冷~,尤其在还没有供暖的前两周时间里,算是最冷的。经常有钻进被窝就冬眠的想法。 我是一个很怕冷的...

  • 关于差异

    个体有差异我明白的,我从不期待认同,我期待理解。 我期望讨论是可延展的深入,广阔甚至激烈,是就事论事的坦率和不惮嘲...

  • 基于小程序技术栈的微信客户端跨平台实践

    一、前言 二、微信客户端的跨平台实践 减少平台差异性:应该最大限度减少不同平台上开发的差异性,尽可能减少各平台特有...

  • 平台的差异化

    供应链 内容沉淀 社交关系链

  • 平台不同差异大

    如今社会发展变化很快,稍不努力就会被甩在后面。 在小视频流行的当下,各种小视频的平台也是丰富多彩。 不为赶时髦,却...

  • 一张表格的协作工具:你还能找到更轻量的吗?

    我今天又开始写文字了。挖掘我们产品的差异化特性。 关于协作工具、团队项目管理软件、企业协作平台等标签“协作”的东西...

  • 关于认知差异

    成长最关键的还是想到并去践行。一味的坐在那里看书阅读没有切到皮肉的思考,主动思考,用落地的工作生活去践行和总结反思...

网友评论

      本文标题:关于IN.screenPos.z的平台差异

      本文链接:https://www.haomeiwen.com/subject/eunmbctx.html