屏幕坐标三种获取方式,得到的坐标可以用来采样图片。

1.使用unity自动将顶点着色器中齐次裁剪空间下的posCS,转换到片段着色器中时得到的屏幕空间。

struct v2f
{float4 pos:SV_POSITION;
}v2f vert (adddata v)
{o.pos = UnityObjectToClipPos(v.vertex);
}fixed frag (v2f i):SV_Target
{//这里传入的i.pos必须是SV_POSITIONfloat2 screenUV = i.pos.xy/_ScreenParams.xy;
}

2.使用从顶点着色器直接传过来的屏幕坐标,然后手动进行透视除法,注意没有进行平台差异的处理。

struct v2f
{float4 screenUV:TEXCOORD1;
}v2f vert (adddata v)
{o.pos = UnityObjectToClipPos(v.vertex);o.screenUV = o.pos;
}fixed frag (v2f i):SV_Target
{//注意未进行平台差异处理float2 uv = i.screenUV.xy/i.screenUV.w * 0.5 + 0.5;
}

3. 使用内置函数处理

struct v2f
{float4 screenUV:TEXCOORD1;
}v2f vert (adddata v)
{o.pos = UnityObjectToClipPos(v.vertex);o.screenUV = ComputeScreenPos(o.pos);
}fixed frag (v2f i):SV_Target
{float2 uv = i.screenUV.xy/i.screenUV.w;
}

Unity 计算屏幕视口UV坐标的几种方法相关推荐

  1. 使用ArcGIS获取行政区四至坐标的两种方法

    ** 使用ArcGIS获取行政区四至坐标的两种方法 ** 今天听了赵老师的课,学到好多知识.尤其是获取行政区四至坐标的两种方法. 首先,说一下数据.数据包括好多个行政区,见图. 第一种方法:使用pyt ...

  2. ABAP屏幕上显示LIST的三种方法

    屏幕上显示LIST的三种方法 在abap开发中,经常有用户提出list的需求,实现的方法很多,通常用的有以下三种总结一下供大家参考: 1:手工添加-就是根据需要把LIST要显示的内容一条一条加到LIS ...

  3. PCL点云处理之计算点到空间直线距离的四种方法(二十三)

    PCL点云处理之计算点到空间直线距离的四种方法(二十三) 问题表述 方法1 方法2 方法3 方法4 全部代码(四个函数) 问题表述 给定空间一条直线的两个点或者给定直线上一点和直线方向向量 求直线外一 ...

  4. Unity 制作小地图(Minimap)系统 两种方法

    Unity 制作小地图系统 两种方法 参考官方教程:Creating A Minimap System 方法1:Github:TanksPluggableAI 方法2:Github:GentleTan ...

  5. python计算今年第几天_Python三种方法计算指定日期是今年的第几天

    今天早上和腾讯面试官进行了视频面试,由于音量和网络以及我的垃圾电脑的原因,个人感觉黄了... 最后面试官给了我一道简单的计算题:指定日期是今年的第几年 由于电脑卡到打字都打不动,我勉勉强强写了一点,虽 ...

  6. Unity 得到游戏组件的常用的两种方法

    看了一些别人总结的得到组件的方法,很详细,但是初学者会看得眼花缭乱(我就是),这里给出最常用的得到游戏组件的两种方法.这里都以MeshRenderer 组件为例 1.当脚本挂在当前游戏物体,需要得到当 ...

  7. 计算一个数字的长度的几种方法

    给定一个简单类型可以存储的正整数,求这个正整数的长度. 普通方法 每次去掉一位,sum加1. int length(int n) {int sum=0;while(n){n/=10;sum++;}re ...

  8. java计算句子相似度的代码_4种方法计算句子相似度

    Edit Distance 计算两个字符串之间,由一个转成另一个所需要的最少编辑次数,次数越多,距离越大,也就越不相关.比如,"xiaoming"和"xiamin&quo ...

  9. Android屏幕保持常亮的三种方法

    一.界面布局文件顶层添加keepScreenOn属性 android:keepScreenOn="true" 二.Window中设置flag getWindow().addFlag ...

最新文章

  1. iOS开发-文件上传原理
  2. 盘点那些让程序员目瞪口呆的Bug都有什么?
  3. 2、异步HTTP编程
  4. TFS命令tf:undo(强制签入签出文件)
  5. 网易校园招聘历年经典面试题汇总:C++研发岗
  6. 一加7 Pro高清渲染图曝光:A+屏幕 超棒手感
  7. 使用k8s Ingress暴露gRPC服务
  8. 磁共振成像原理-物理基础2(质子在外部磁场的情况)
  9. Arduino DHT11温湿度传感器数据示例
  10. android手机如何截屏,安卓手机怎么截屏(华为手机的几种截图方法)
  11. AR和VR是什么,浅看一下吧
  12. 轨道交通通信施工学习总结(四)漏泄同轴电缆安装
  13. LaTex学习教程——插入较复杂的表格(合并、换行以及加标题)
  14. 水果店开业怎样宣传自己的水果店,新开水果店怎么发朋友圈宣传
  15. 离散数学:格与布尔代数
  16. @Transactional 的使用
  17. 外贸用什么邮箱好,如何选择一个好用的外贸企业邮箱
  18. Angular Material 学习笔记 Chips
  19. ColorOS怎么切换Android,OPPO怎么升级ColorOS11 OPPO升级ColorOS11方法
  20. NEWPLAN-博客目录

热门文章

  1. 大学生上课为什么一定要认真听讲?
  2. Laravel项目部署到线上需要注意的一些问题
  3. Thinkpad X230 升级 AX210 wifi6 无线网卡
  4. 2023最新淘宝天猫商品销量,宝贝详情,店铺列表信息分析
  5. 关于添加 HKEY_LOCAL_MACHINE32\Software 注册表问题
  6. js和jsp的区别和联系
  7. AC Dream1069
  8. ARMv7体系结构汇总
  9. 【100题】给定入栈序列,判断一个序列是否可能为输出序列
  10. 苹果的新手机都是5G,华为的新手机只有4G,大家怎么看待这个现象?