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

升降平台找企汇优做网站推广2023年中国进入一级战备状态了吗

升降平台找企汇优做网站推广,2023年中国进入一级战备状态了吗,公众号 链接wordpress,肇庆搞产品网站的公司文章目录 前言方式一:对顶点本地空间下的坐标进行相加平移1、在属性面板定义一个四维变量记录在 xyz 上平移多少。2、在常量缓冲区进行申明3、在顶点着色器中,在进行其他坐标转化之前,对模型顶点本地空间下的坐标进行转化4、我们来看看效果 方…

文章目录

  • 前言
  • 方式一:对顶点本地空间下的坐标进行相加平移
    • 1、在属性面板定义一个四维变量记录在 xyz 上平移多少。
    • 2、在常量缓冲区进行申明
    • 3、在顶点着色器中,在进行其他坐标转化之前,对模型顶点本地空间下的坐标进行转化
    • 4、我们来看看效果
  • 方式二:使用矩阵乘法代替相加平移
    • 1、原理
    • 2、使用矩阵乘法代替相加平移的好处:
    • 3、实现
    • 4、我们来看看效果
  • 三、测试代码


前言

在Shader中,我们对于顶点经常使用到平移变换。我们在这篇文章中,用点的平移看一下平移矩阵。


方式一:对顶点本地空间下的坐标进行相加平移

P(x,y,z)
A(x1,y1,z1)
P` = P + A =(x + x1,y + y1,z + z1)

1、在属性面板定义一个四维变量记录在 xyz 上平移多少。

_Translate(“Translate(XYZ)”,Vector) = (0,0,0,0)

2、在常量缓冲区进行申明

CBUFFER_START(UnityPerMaterial)
float4 _Translate;
CBUFFER_END

3、在顶点着色器中,在进行其他坐标转化之前,对模型顶点本地空间下的坐标进行转化

v.vertexOS += _Translate.xyz;

4、我们来看看效果

请添加图片描述


方式二:使用矩阵乘法代替相加平移

1、原理

  • 我们按照如下格式得到平移矩阵
    Translate(a,b,c)

在这里插入图片描述

  • 我们给P点的坐标增加一维且值为1,作为列矩阵

在这里插入图片描述

  • 最后,我们让两个矩阵相乘就会得到一个包含平移后结果。
    但是,多出一维分量值为1的列矩阵。

在这里插入图片描述

  • 我们在图形计算器看看效果

请添加图片描述

2、使用矩阵乘法代替相加平移的好处:

在多种图形变换时,我们可以把多次的图形变换合并到一个矩阵中。
最后,对顶点只进行一次计算就可得出所有变换后的结果。

3、实现

  1. 在属性面板定义一个四维变量记录在 xyz 上平移多少。

_Translate(“Translate(XYZ)”,Vector) = (0,0,0,0)

  1. 在常量缓冲区进行申明

CBUFFER_START(UnityPerMaterial)
float4 _Translate;
CBUFFER_END

  1. 在顶点着色器中,定义平移矩阵
float4x4 T = float4x4(1,0,0,_Translate.x,0,1,0,_Translate.y,0,0,1,_Translate.z,0,0,0,1);
  1. 我们 Attribute 中,接收的模型顶点是四维向量,前3维是顶点的位置信息,第四个值默认是1,刚好符合我们的列矩阵要求

v.vertexOS = mul(T,v.vertexOS);

对于mul函数(我们这里默认使用了第一种相乘方法):

  • OpenGL(图形接口): 按列存储矩阵(column-major)。调用API形成的矩阵用来和一个列向量相乘,矩阵在左,列向量在右,即mul(M,v)

  • GLSL(着色器语言):  矩阵的存储方式和OpenGL相同(column-major)

  • DirectX(图形接口): 按行存储矩阵(row-major)。调用API形成的矩阵用来和一个行向量相乘,矩阵在右,行向量在左,即mul(v, M)

  • HLSL(着色器语言): 矩阵存储方式和DirectX相反(column-major)

4、我们来看看效果

请添加图片描述


三、测试代码

//平移变换
Shader "Unlit/P3_5_1"
{Properties{_Translate("Translate(XYZ)",Vector) = (0,0,0,0)}SubShader{Tags{"PenderPipeline"="UniversalPipeline""RenderType"="Opaque""Queue"="Geometry"}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.hlsl"struct Attribute{float4 vertexOS : POSITION;};struct Varying{float4 vertexCS : SV_POSITION;};CBUFFER_START(UnityPerMaterial)float4 _Translate;CBUFFER_ENDVarying vert (Attribute v){Varying o;float4x4 T = float4x4(1,0,0,_Translate.x,0,1,0,_Translate.y,0,0,1,_Translate.z,0,0,0,1);v.vertexOS = mul(T,v.vertexOS);o.vertexCS = TransformObjectToHClip(v.vertexOS.xyz);return o;}half4 frag (Varying i) : SV_Target{return 1;}ENDHLSL}}
}
http://www.fp688.cn/news/144124.html

相关文章:

  • 福州网站建设 找燕狂徒 04汕头网站建设方案推广
  • 淘宝网时时彩做网站是真的吗知乎关键词排名优化
  • python 网站开发 环境怎么创建网站免费建立个人网站
  • 万网制作淘宝客网站友情链接模板
  • 政府门户网站建设军事新闻
  • 如何制作营销网站网站优化系统
  • 展示类网站cms希爱力5mg效果真实经历
  • 免费生产管理erp企业seo推广的绝密诀窍曝光
  • 网站服务器 英文google下载app
  • 用数据库做动态网站今日新闻网
  • 做网站北京百度网盘网页版入口官网
  • 做设计转钱网站农业推广
  • 广东住房和建设局网站广东seo价格是多少钱
  • erp企业管理系统手机版seo数据优化
  • 双语网站模板百度信息流怎么投放
  • 广东省建设工程安全协会网站网络营销的基本内容有哪些
  • 淮安网站制作深圳关键词推广
  • 易语言做网站教程公司网站设计的内容有哪些
  • 网站的需求分析怎么写聊城网站推广的公司
  • 华侨大学英文网站建设今日国内最新新闻
  • 韶关哪里做网站企业网站建设的作用
  • 鞍山公司网站建设南昌关键词优化软件
  • 苹果网站开发东莞关键字排名优化
  • 浙江疫情最新消息情况搜索引擎环境优化
  • 公司网站怎么管理企业网站怎么制作
  • 响应式网站制作方法西安百度seo代理
  • 广州市住房城乡建设委网站站长工具seo综合查询5g
  • 具有品牌的做pc端网站网络推广外包一年多少钱
  • h5模板免费下载徐州网站优化
  • 女性网站 源码长沙谷歌优化