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

网站建设方案及报价模板wordpress模板学校

网站建设方案及报价模板,wordpress模板学校,wordpress 主题颜色,今天重庆新闻头条可编程渲染管线使用教程 SRP 可以处理Canvas为Screen Space - Overlay的渲染 安装插件 首先进入package manager#xff0c;下载Core RP Lib组件 创建渲染管线 编写渲染管线逻辑脚本 新建脚本取名为MPipeLine#xff0c;该脚本用于实现渲染管线的处理逻辑 using Unity…可编程渲染管线使用教程 SRP 可以处理Canvas为Screen Space - Overlay的渲染 安装插件 首先进入package manager下载Core RP Lib组件 创建渲染管线 编写渲染管线逻辑脚本 新建脚本取名为MPipeLine该脚本用于实现渲染管线的处理逻辑 using UnityEngine; using UnityEngine.Rendering;public class MPipeLine : RenderPipeline {public MPipeLine() { }protected override void Render(ScriptableRenderContext context, Camera[] cameras){// 创建渲染指令默认填充白色var cmd new CommandBuffer();cmd.ClearRenderTarget(true, true, Color.white);context.ExecuteCommandBuffer(cmd);cmd.Release();// 提交渲染指令context.Submit();} }编写渲染管线与编辑器关联 创建脚本MPipelineAsset用于与unity编辑器建立关联允许将工程与自定义渲染管线进行绑定 using UnityEngine; using UnityEngine.Rendering;[CreateAssetMenu(menuName Rendering/MPipelineAsset)] public class MPipelineAsset : RenderPipelineAsset {protected override RenderPipeline CreatePipeline(){// 渲染逻辑脚本return new MPipeLine();} }创建并配置PipeLine Asset 首先创建Asset文件 点击Edit projectsettings graphics设置asset为我们刚才新建的那个管线资源 编辑渲染管线逻辑 渲染逻辑有两种写法一种是直接创建指令 //var cmd new CommandBuffer() { name clear };//cmd.ClearRenderTarget(true, true, Color.white);//context.ExecuteCommandBuffer(cmd);//cmd.Release();//context.Submit();另一种是调用渲染api来实现所有的逻辑要包在Begin、end之间 RenderPipeline.BeginFrameRendering(context, cameras);// 要渲染的相机Camera camera cameras[0];// 相机渲染 不透明RenderCamera(context, camera, shader1, SortingCriteria.CommonOpaque, RenderQueueRange.opaque);RenderCamera(context, camera, shader2, SortingCriteria.CommonTransparent, RenderQueueRange.transparent);// 结束帧渲染你RenderPipeline.EndFrameRendering(context, cameras);我们这里使用后者来分别创建透明、不透明、及天空盒的渲染逻辑 protected override void Render(ScriptableRenderContext context, Camera[] cameras){// 开始帧渲染RenderPipeline.BeginFrameRendering(context, cameras);// 要渲染的相机Camera camera cameras[0];// 相机渲染 不透明 shader1是自建shader代码在后面RenderCamera(context, camera, shader1, SortingCriteria.CommonOpaque, RenderQueueRange.opaque);// 相机渲染 不透明 shader2是自建shader代码在后面RenderCamera(context, camera, shader2, SortingCriteria.CommonTransparent, RenderQueueRange.transparent);// 结束帧渲染RenderPipeline.EndFrameRendering(context, cameras);}private void RenderCamera(ScriptableRenderContext context, Camera camera, string TagId, SortingCriteria criteria, RenderQueueRange queue){// 开始渲染摄像机RenderPipeline.BeginCameraRendering(context, camera);// Camera 区域剔除ScriptableCullingParameters cullingParameters new ScriptableCullingParameters();cullingParameters.cullingOptions | CullingOptions.OcclusionCull;// 剔除除了default layer之外的layercullingParameters.cullingMask 1 0;camera.TryGetCullingParameters(out cullingParameters);var cullingResults context.Cull(ref cullingParameters);// 更新当前摄像机内置着色器变量值context.SetupCameraProperties(camera);// DrawingSettings用来描述可见物体的排序方式以及绘制使用的Shader PassShaderTagId shaderTagId new ShaderTagId(TagId);var sortingSettings new SortingSettings(camera) {criteria criteria };DrawingSettings drawingSettings new DrawingSettings(shaderTagId, sortingSettings);// 过滤 FilteringSettings用来描述渲染时如何过滤可见物体FilteringSettings filteringSettings new FilteringSettings(queue);// 绘制图形context.DrawRenderers(cullingResults, ref drawingSettings, ref filteringSettings);// 绘制天空盒if (camera.clearFlags CameraClearFlags.Skybox RenderSettings.skybox ! null queue ! RenderQueueRange.transparent){context.DrawSkybox(camera);}// 提交渲染按 context.Submit();// 结束渲染摄像机RenderPipeline.EndCameraRendering(context, camera);}创建着色器 分别创建shader1.shader, shader2.shader两个着色器资源并将下列代码填入 shader1 Shader Custom/mShader1 {Properties{_MainTex (Texture, 2D) white {}}SubShader{Blend One OneMinusSrcAlphaPass{Tags { LightModeshader1 }CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include UnityCG.cgincstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;v2f vert (appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);return o;}fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col tex2D(_MainTex, i.uv);// apply fogUNITY_APPLY_FOG(i.fogCoord, col);return col;}ENDCG}} } shader2: Shader Custom/mShader2 {Properties{_MainTex (Texture, 2D) #A84242 {}_MainColor(color, Color) (1,1,1,1)}SubShader{Tags{Queue TransparentRenderTypeTransparentPreviewTypePlane}Cull Off//Lighting On //ZWrite OnBlend One OneMinusSrcAlphaPass{Tags { LightModeshader2 }CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include UnityCG.cgincstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;fixed4 _MainColor;v2f vert (appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);return o;}fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col tex2D(_MainTex, i.uv) * _MainColor;// apply fog//UNITY_APPLY_FOG(i.fogCoord, col);col.a _MainColor.a;return col;}ENDCG}} }测试效果 然后创建材质mat1.materil、mat2.materil。 mat1关联shader1mat2关联shader2将mat2的color透明度调到100 在场景中创建cube1和cube2两个方形物体这时我们是什么都看不到的。 拖动cube2一部分挡在cube1前面并将mat1赋给cube1mat2赋给cube2。此时我们就能看到自定义渲染管线生效了
http://www.hkea.cn/news/14355651/

相关文章:

  • 合肥市城乡建设网站网站集约化建设的通知
  • 人才网站建设报告iis7.5 添加网站
  • 云南建设监理协会官方网站网站建设官网
  • 电影手机网站建设网站建设服务包含内容
  • 百度竞价网站源码wordpress tag 中文
  • 哪几个网站做acm题目游戏网站怎么做seo
  • 做我男朋友的网站深圳优化公司
  • centos 网站开发工具郑州市建筑工程信息网
  • 安徽省工程建设网站服饰网站建设目的
  • 科技网站 网站建设企查查企业查询平台
  • 网站建设与网页设计是什么wordpress仿站上传到
  • 做医药商城网站的公司wordpress表白源码
  • 网站进入沙盒期手机网站永久免费制作
  • 化妆品网站建设目标陕西咸阳做网站的公司
  • 网站的死链如何借助网站打广告
  • 360doc 网站怎么做蓝牙音箱东莞网站建设
  • 网站设计的大公司吴江区经济开发区规建设局网站
  • flash做安卓游戏下载网站获奖网站设计
  • 网站别人做的收到方正侵权wordpress链接提交表单
  • 个人做交通违章查询网站违法吗建设医院在哪里
  • 网页建设网站代码网站开发的前后台的步骤分别为
  • 网站打不开 域名做解析wordpress博客无法重定向
  • 长宁微信手机网站制作自己做图片的网站链接
  • 我的网站没备案怎么做淘宝客推广房地产开发公司网站源代码 墨绿色风格
  • 能够做数据地图的网站油烟机seo关键词
  • 明星个人网站设计模板帮做装修设计的网站
  • 网站备案 内容响应式网站概况
  • 昆明网站建设哪家企业文化墙
  • 中卫网站设计在哪里北京住房与建设部网站
  • 西安建设银行工作招聘网站为什么要建设个人网站