当前位置: 首页 > news >正文

长沙做网站设计模板建站广团

长沙做网站设计,模板建站广团,wordpress怎么编辑保存,山西做网站哪个好文章目录 前言一、观察空间矩阵推导1、求观察空间基向量2、求观察空间的基向量在世界空间中的矩阵 的 逆矩阵2、求平移变换矩阵3、相乘得出 观察空间转化矩阵4、得到顶点的世界空间坐标#xff0c;然后转化到观察空间5、把观察空间坐标转化为齐次裁剪坐标输出到屏幕 二、最终效… 文章目录 前言一、观察空间矩阵推导1、求观察空间基向量2、求观察空间的基向量在世界空间中的矩阵 的 逆矩阵2、求平移变换矩阵3、相乘得出 观察空间转化矩阵4、得到顶点的世界空间坐标然后转化到观察空间5、把观察空间坐标转化为齐次裁剪坐标输出到屏幕 二、最终效果1、这是我们用默认Shader在该摄像机坐标下的游戏界面2、使用我们的Shader并且给我们的ViewPos赋值为摄像机坐标3、最终代码 前言 在上篇文章中我们是实现了Shader中的观察空间推导。 Unity中Shader观察空间推导 我们在这篇文章中根据上篇文章的推导在Shader中实现观察空间矩阵的推导。 一、观察空间矩阵推导 Pview [Wview] * Pworld Pview [Vworld]-1 * Pworld Pview [Vworld]T * Pworld 在属性面板定义测试使用到的 摄像机坐标 和 测试顶点坐标 _ViewPos(“View Pos”,vector) (0,0,0,0) _ViewTarget(“View Target”,vector) (0,0,0,0) 1、求观察空间基向量 Z坐标轴基向量 float3 ViewZ normalize(_ViewPos - _ViewTarget); 假设Y坐标轴基向量为010 float3 ViewY float3(0,1,0); 求 X 坐标基向量 float3 ViewX cross(ViewZ,ViewY); 求 Y 坐标基向量 ViewY cross(ViewX,ViewZ); 2、求观察空间的基向量在世界空间中的矩阵 的 逆矩阵 float4x4 M_viewTemp float4x4 ( ViewX.x,ViewX.y,ViewX.z,0, ViewY.x,ViewY.y,ViewY.z,0, ViewZ.x,ViewZ.y,ViewZ.z,0, 0,0,0,1 ); 2、求平移变换矩阵 1 0 0 − T x 0 1 0 − T y 0 0 1 − T z 0 0 0 1 \begin{matrix} 100-T~x~\\ 010-T~y~\\ 001-T~z~\\ 0001\\ \end{matrix} 1000​0100​0010​−T x −T y −T z 1​ float4x4 M_viewTranslate float4x4 ( 1,0,0,-_ViewPos.x, 0,1,0,-_ViewPos.y, 0,0,1,-_ViewPos.z, 0,0,0,1 ); 3、相乘得出 观察空间转化矩阵 float4x4 M_view mul(M_viewTemp,M_viewTranslate); 4、得到顶点的世界空间坐标然后转化到观察空间 float3 vertexWS TransformObjectToWorld(v.vertexOS); float3 vertexVS mul(M_view,float4(vertexWS,1)); 5、把观察空间坐标转化为齐次裁剪坐标输出到屏幕 o.vertexCS TransformWViewToHClip(vertexVS); 二、最终效果 1、这是我们用默认Shader在该摄像机坐标下的游戏界面 2、使用我们的Shader并且给我们的ViewPos赋值为摄像机坐标 3、最终代码 //平移变换 //缩放变换 //旋转变换四维 Shader MyShader/URP/P3_6_5 {Properties{_Translate(Translate(XYZ),Vector) (0,0,0,0)_Scale(Scale(XYZ),Vector) (1,1,1,1)_Rotation(Rotation(XYZ),Vector) (0,0,0,0)[Header(View)]_ViewPos(View Pos,vector) (0,0,0,0)_ViewTarget(View Target,vector) (0,0,0,0)}SubShader{Tags{PenderPipelineUniversalPipelineRenderTypeOpaqueQueueGeometry}Pass{HLSLPROGRAM#pragma vertex vert#pragma fragment frag#include Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlslstruct Attribute{float4 vertexOS : POSITION;};struct Varying{float4 vertexCS : SV_POSITION;};CBUFFER_START(UnityPerMaterial)float4 _Translate;float4 _Scale;float4 _Rotation;float4 _ViewPos;float4 _ViewTarget;CBUFFER_ENDVarying vert (Attribute v){Varying o;//平移变换float4x4 M_Translate float4x4(1,0,0,_Translate.x,0,1,0,_Translate.y,0,0,1,_Translate.z,0,0,0,1);v.vertexOS mul(M_Translate,v.vertexOS);//缩放交换float4x4 M_Scale float4x4(_Scale.x,0,0,0,0,_Scale.y,0,0,0,0,_Scale.z,0,0,0,0,1);v.vertexOS mul(M_Scale,v.vertexOS);//旋转变换float4x4 M_rotateX float4x4(1,0,0,0,0,cos(_Rotation.x),sin(_Rotation.x),0,0,-sin(_Rotation.x),cos(_Rotation.x),0,0,0,0,1);float4x4 M_rotateY float4x4(cos(_Rotation.y),0,sin(_Rotation.y),0,0,1,0,0,-sin(_Rotation.y),0,cos(_Rotation.y),0,0,0,0,1);float4x4 M_rotateZ float4x4(cos(_Rotation.z),sin(_Rotation.z),0,0,-sin(_Rotation.z),cos(_Rotation.z),0,0,0,0,1,0,0,0,0,1);v.vertexOS mul(M_rotateX,v.vertexOS);v.vertexOS mul(M_rotateY,v.vertexOS);v.vertexOS mul(M_rotateZ,v.vertexOS);//观察空间矩阵推导//P_view [W_view] * P_world//P_view [V_world]^-1 * P_world//P_view [V_world]^T * P_worldfloat3 ViewZ normalize(_ViewPos - _ViewTarget);float3 ViewY float3(0,1,0);float3 ViewX cross(ViewZ,ViewY);ViewY cross(ViewX,ViewZ);float4x4 M_viewTemp float4x4(ViewX.x,ViewX.y,ViewX.z,0,ViewY.x,ViewY.y,ViewY.z,0,ViewZ.x,ViewZ.y,ViewZ.z,0,0,0,0,1);float4x4 M_viewTranslate float4x4(1,0,0,-_ViewPos.x,0,1,0,-_ViewPos.y,0,0,1,-_ViewPos.z,0,0,0,1);float4x4 M_view mul(M_viewTemp,M_viewTranslate);float3 vertexWS TransformObjectToWorld(v.vertexOS);float3 vertexVS mul(M_view,float4(vertexWS,1));o.vertexCS TransformWViewToHClip(vertexVS);//o.vertexCS TransformObjectToHClip(v.vertexOS.xyz);return o;}half4 frag (Varying i) : SV_Target{return 1;}ENDHLSL}} }
http://www.w-s-a.com/news/212206/

相关文章:

  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位
  • 网站网页直播怎么做的企业网站建设推荐兴田德润
  • 网站建设熊猫建站厦门seo全网营销
  • 扁平网站设计seo是什么岗位的缩写
  • 工商企业网站群晖配置wordpress 80端口
  • 企业网站建设流程步骤镇江东翔网络科技有限公司
  • 网络工程师和做网站哪个难网络建站如何建成
  • 网站建设需要哪些项目游民星空是用什么做的网站
  • 旅游网站建设要如何做百度商城网站建设
  • destoon 网站搬家中国企业500强都有哪些企业
  • 商城网站前端更新商品天天做吗哈尔滨做网站优化
  • 新乡网站开发wordpress 产品分类侧边栏
  • 网站自己做自己的品牌好做互联网企业分类
  • 项目网站建设方案石家庄网站快速排名
  • 网站开发大作业报告做电商网站的参考书
  • Apache局域网网站制作wordpress外链自动保存
  • 网站备案号要怎么查询千锋教育培训机构地址
  • 门户网站建设要求几款免费流程图制作软件
  • 花生壳域名可以做网站域名吗wordpress内链工具
  • 猎头公司网站模板网站伪静态作用
  • 工程建设教育网站html成品网页模板下载
  • 同一ip 网站 权重wordpress 菜单 小图标
  • 网站没有icp备案wordpress d8主题 4.1
  • 手机网站建设推荐企业宣传页模板
  • 杭州市富阳区建设局网站动态域名做网站
  • 网站如何免费做SEO优化靖安县城乡规划建设局网站
  • 室内设计网站平台学新媒体运营最好的培训学校
  • 招聘网站建设工作总结湘潭seo