话不多说,直接上代码,具体区别我后边会补充上,
暂时委屈各位,先锻炼下自己的“找不同”的能力,哈哈:
Built-CG写法:
Shader "Unity Shaders Book/Chapter 10/Refraction" {
Properties {
_Color("Color Tint", Color) = (1,1,1,1)
_RefractColor("Refraction Color", Color) = (1,1,1,1)
_RefractAmount("Refraction Amount", Range(0, 1)) = 0.5
_RefractRatio("Refraction Ration", Range(0, 1)) = 0.5
_Cubemap("Cube Map", Cube) = "_Skybox" {}
}
SubShader {
Tags {"Queue"="Geometry" "RenderType"="Opaque"}
Pass {
Tags {"LightMode"="ForwardBase"}
CGPROGRAM
#include "Lighting.cginc"
#include "AutoLight.cginc"
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_fwdbase
fixed4 _Color;
fixed4 _RefractColor;
fixed _RefractAmount;
fixed _RefractRatio;
samplerCUBE _Cubemap;
struct a2v {
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f {
float4 pos : SV_POSITION;
float3 w

这篇博客对比了两种Unity中实现折射效果的Shader编写方式:Built-CG写法和URP(Universal Render Pipeline)结合HLSL的写法。内容包括Shader的属性定义、结构体、顶点和片段着色器的实现,以及在不同渲染管线下的适配。通过对代码的比较,帮助读者理解Shader在不同渲染环境下的差异和调整技巧。
1万+

被折叠的 条评论
为什么被折叠?



