Unity&Shader高级案例篇—图形命令缓冲

unity Image/RawImage贴图透明度渐变/融合 & 正片叠底 功能需求:UI边界太硬,需要做个渐变看起来更柔和。 贴图正片叠底 阅读详情

原文http://www.manew.com/thread-97942-1-1.html

一、前言

上一章讲的到底有什么用呢?带着此疑问你可以耐心的看看这篇的介绍。继上一篇文Unity&Shader高级篇-渲染路径(Rendering Paths),本篇其实算是中渲染管线的一个拓展。当然也要在理解了上一章的内容之后看这篇的例子就会有一个形象的概念。在中已经有了很多开发者可见的图形渲染功能,诸如标准着色器(Standard Shader)、实时全局光照(realtime global illumination)、反射探测器(reflection Probes)以及新的光照贴图(lightmapping)工作流等等。除了典型的优化,比如多线程光照剔除。Unity还提供了一些可以扩展的渲染管线—图形命令缓冲,如此继上一章就可以看到在Unity中摄像机的渲染路径的详细渲染过程,如图所示。
这里写图片描述

这个图形命令缓冲区到底有啥用,比如,你可以在延迟渲染(deffered Shading)的几何缓冲区额外的渲染一些物体。
文章中的工程下载地址:https://docs.unity3d.com/530/Documentation/Manual/GraphicsCommandBuffers.html

二、模糊的折射效果

效果图如图所示,这个效果是在摄像机渲染之后能看到,
这里写图片描述

如果你在Scene视图里面看到的将会是下面的图的效果,即没只有表现透明而没有实际折射效果。
这里写图片描述
另外,这个渲染效果中不但可以控制模糊的效果,而且透明折射的清晰度也是可以调节的。这个是摄像机的默认渲染路径正向渲染渲染的。

三、延迟着色中的自定义区域光

这个效果图如图所示,这是一系列的自定义形状的区域光,摄像机的渲染路径必须为延迟渲染(Deferred Shading)
这里写图片描述

如果换成了正向渲染(Forward Shading)就得不到正确的效果,如图所示为摄像机渲染路径设置为正向渲染之后
这里写图片描述

这些自定义的光源都是在所有正常延迟着色器通道之后进行渲染的

四、延迟着色中的形变贴图(Decals in Deferred Shading)

这个例子也是非常有意思的一个应用,贴图可以在物体中产生形变而始终附在物体表面,效果如图所示:
这里写图片描述

当然,摄像机的渲染路径要设置成延迟渲染,如果设置成正向渲染将看不到这些贴图,如图所示:
这里写图片描述


好了,感谢原作者的分享。

每天进步一点点!!!

DirectX3DHLSL高级实例精讲06-10章源码 DirectX 3D HLSL 高级实例精讲06-10章源码,因为整个源码超过1个多g,上传有大小限制,分开上传 立即下载

相关推荐

bcftools学习笔记(一)

欢迎关注"生信修炼手册"!本篇主要介绍index, view, query, sort, reheader这五个命令。1. indexindex命令用于对VCF文件建立索...

庐州月光的博客 6005

《Unity Shader入门精要》笔记:初级篇(4)

讲述了UnityShader关于透明度方面的知识

sugarsama的博客 779

配置思科交换机冗余链路汇聚

本文对交换机端口汇聚配置进行说明

istrangeboy&begin zero的博客 6675

Shader混合模式--正片叠底、滤色、叠加

叠加在书本168页。 Shader "Custom/BlendMode_Effect" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _Blendtex("Blend Texture",2D) = "white"{} _Opacity("Blend Opacity",Range(0,1)) = 1 } Su

u012941657的博客 2万+

从时序博弈到数据稳定:CS1237驱动中的信号滤波与卡尔曼实践

本文探讨了CS1237高精度ADC驱动在复杂工业环境中的信号处理挑战,重点介绍了一阶滤波与自适应卡尔曼滤波算法的实践应用。通过参数优化和动态调整策略,有效提升了数据稳定性和抗干扰能力,为嵌入式系统在噪声环境下的精密测量提供了可靠解决方案。

rnn9storyteller的博客 857

TI毫米波雷达人体生命体征(呼吸、心跳)信号提取算法(IWR6843ISK+DCA1000EVM)

本篇内容介绍的算法主要为传统的提取算法,但可实现在1m内呈现良好的检测效果,能够提取出非常可观的呼吸和心跳波形,但在超出1m的距离后便不适用这个算法了。远距离检测呼吸和心跳始终是这个领域一个很大的挑战。要实现远距离检测可在提取相位信号、分离呼吸和心跳信号上进行改进处理,例如线性解调提取相位、改进的VMD分离呼吸和心跳算法。

m0_61934621的博客 3万+

UnityShader 实现 PhotoShop中的正片叠底

项目中有拍摄图片并以拍摄到的图片为贴图。 实际使用中发现可能手机拍摄到的照片会发灰。 通过PhotoShop中的正片叠底可以强化图片效果,下面一个简单的shader实现了对贴图进行正片叠底的修正Shader "Unlit/FixImageShader" { Properties { _MainTex ("Texture", 2D) = "white" {}

叫我上上的博客 4487

VS2015编译配置GDAL(图文并茂、超详细!!!)

文章目录一、GDAL介绍二、下载GDAL三、修改源代码四、工具命令提示符操作五、编译GDAL六、安装GDAL七、在VS2015的项目中配置GDAL八、添加环境变量九、测试是否配置成功 一、GDAL介绍 GDAL(Geospatial Data Abstraction Library)是一个在XMIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。OGR是GDAL项目的一个分支,功能与GDAL类似,只不过它提供对矢量数据的支持。因此

weixin_46196863的博客 3754

探索高级实例:DirectX 3D HLSL 教程详解

探索高级实例:DirectX 3D HLSL 教程详解 该项目位于 ,是一个专注于讲解如何使用DirectX 3D与High-Level Shader Language (HLSL) 进行高级实例编程的开源教程。它旨在帮助游戏开发者、图形程序员和对3D渲染有热情的技术爱好者提升他们的技能,利用DirectX的强大功能构建高效且视觉效果丰富的应用。 项目简介 在DirectX 3D HLSL 高级实...

gitblog_00052的博客 687

SCU【C】程序设计基础期末安全项目lab2-Deadbeef-writeup(附题目&源码)

项目名称(本质:栈溢出攻击)【源码在文首】和lab1一样,此题又是美国卡耐基梅隆大学的平时作业哈哈哈! 项目要求是把栈溢出,强行更改函数返回值,输出0xdeadbeef。

2301_79586491的博客 1541

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文

在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助!

CyberSphinx的博客 643

Unity&Shader基础篇-概述

最近在学习Shader,将学习的一些心得和案例以及基础知识罗列了一下。这一篇是unity之Shader的基础篇之基础,更多的是一些概念。该篇将分以下几个部分: 1、什么是Shader? 2、GPU和Cg语言 3、Unity中使用Cg语言如何编写Shader? 1、什么是Shader? 1.1、Shder的概念:Shader即着色器,是一款运行在GPU上的程序,用以对三维物体进行着

Just do IT 4553

从数字后端角度谈谈occ电路(一)

摘要:本文介绍了芯片测试中OCC(On-Chip Clock Control)电路的设计与应用。随着工艺进步,芯片制造面临Stuck-at、Bridging和Delay等故障类型,需要不同时钟频率进行测试。OCC电路通过Clock Selection、Clock Chopping Control和Clock Gating三个模块,实现ATE时钟与PLL时钟的切换控制,支持慢速时钟检测Stuck-at故障和快速时钟检测Delay故障。文章详细解析了OCC电路结构及各模块功能,包括同步单元、移位寄存器等关键组件

芯冰乐 572

Unity&Shader基础篇-可编程GPU图形绘制管线

Cg是最早的为可编程图形硬件设计的高级编程语言。它是英伟达和微软公司一起合作开发出来了语言,如果你非常熟悉C语言或者其他的编程语言,如C++、C#或者Java等,那对于Cg语言你将会非常容易掌握。Cg程序通常都比较的小,结构也非常的简单,尽管如此,不了解基本的Cg语言的语法和它的运行机制也是很难理解一段Cg程序到底做了什么以及要怎么控制它到达预期的效果 1.1、可编程GPU图形绘制管线   所

Just do IT 2300

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Unity&Shader高级篇-渲染路径(Rendering Paths)

一、前言 在Unity的Camera中常常会看到一个Rendering Paths的选项,里面有5个选项,其中两个比较重要的选项分别是“Deferred Shading”和“Forward Rendering”,在我还是初学Unity的时候,并没有在意太多。如今随着学习Shader的深入慢慢领会到了这两个渲染路径的重要性。下面就这两个渲染路径的区别和优缺点做一个学习记录。主要参考文献 维基百科

Just do IT 6648

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Unity&Shader基础篇-绘制网格+圆盘

原文:http://www.manew.com/thread-96594-1-1.html1.前言:上一章中Unity&Shader基础篇-绘图2D图形中学习了怎么画出一个棋盘网格,首先来完善一下这个shader代码。首先,添加属性,属性包括网格的线的宽度,网格的颜色等。完整的代码如下:Shader "Unlit/Scenes_001_1" { Properties {

阿童木的博客 3663

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

《Oracle PL/SQL实例精讲》学习笔记13——游标 (高级概念)

这章的主要内容有: 1. 带参数游标 2. 游标的嵌套 3. For update (of)和where current of游标   代码如下: -- *** Chapter Exercises *** -- -- For Example ch12_2.sql SET SERVEROUTPUT ON /* Formatted on 2018/11/6 2:34:30 (QP5 v...

预见未来to50的专栏 304

【Shader】图集UV错乱问题&支持MeshRenderer显示图集图片

shader 图片渲染问题 UV错乱

两水先木示的博客 4288

unity 画一个椭圆

在Unity中画一个椭圆,你可以使用多种方法,比如使用LineRenderer组件来绘制椭圆的轮廓,或者使用Shader来渲染一个椭圆形的纹理。下面我将介绍如何使用LineRenderer来绘制一个椭圆。

lcfengokok的博客 639

Unity shader图集Atlas下的UV坐标归一化转换

unity中如果图片打入了图集中,在shader中取到的uv坐标默认是图集中的坐标,如果需要shader做一些类似流光的效果,需要转换成常用的0-1区间的归一化uv坐标,转换方法如下: 步骤一:C#中向shader中传入图片在图集中的Rect信息和Scale信息 Vector4 UVRect = UnityEngine.Sprites.DataUtility.GetOuterUV(spriteRenderer.sprite); Rect originRect = spriteRenderer...

yinfourever的专栏 4336

UnityShader学习笔记 ---- 透明效果

在渲染模型时控制它的透明通道(Alpha Channel)。对于不透明(opaque)物体,不考虑它们的渲染顺序也能得到正确的排序结果,这是由于强大的深度缓冲的存在(,也被称为如果要渲染的片元,深度值和深度缓冲的比较,距离摄像机更远,就不应该渲染在屏幕上(有物体遮挡住了)。: “霸道极端”,只要一个片元的透明度不满足条件(通常是小于某个阈值),就舍弃。不需要关闭深度写入(),要么完全透明看不见,要么完全不透明像不透明物体。

Wen_Long7834的博客 1690

贴图、图集的处理

1、基本概念 1)美术图片:jpg、png       纹理(Texture)是最基本的数据输入单位,包含了美术图片的数据,游戏领域基本上都用的是位图       贴图(Map)其功能就是把纹理通过 UV 坐标映射到3D 物体表面               材质(Material)它是贴图+一系列属性,是一个数据集,主要功能就是给渲染器提供数据和光照算法 2)NGUI中的UISprit

加油小亮的博客 1255

unity反向椭圆遮罩shader

改的一个从椭圆遮罩变为反向椭圆遮罩,椭圆部分alpha为0,可以实现新手引导使用,增加了一点边缘alpha过渡,看起来没毛刺. //对图片的mask处理,只有椭圆部分 Shader "Unlit/Transparent Colored Mask UnRound" { Properties { _MainTex("Base (RGB), Alpha (A)&

thinbug的专栏 3477

Unity绘制圆、椭圆、多边形

unity画圆原理是绘制多边形,增加多边形的边数,当边数到达一定的数量后,看起来就是一个光滑的圆 using System.Collections; using System.Collections.Generic; using UnityEngine; //该物体需要 LineRenderer组件,也可以手动添加LineRenderer组件,把这个注释掉 [RequireComponent(typeof(LineRenderer))] public class CirclesDrawer : Mo.

第7维度 - 日常笔记 5080
上一篇: Unity&Shader高级篇-渲染路径(Rendering Paths)
下一篇: Unity&Shader案例篇—绘制雪花
阿童木yss
博客等级 码龄10年 35粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值