Unity Shader学习:简单RayMarching(光线步进)

这篇博客介绍了Unity中Shader的学习,特别是简单RayMarching的实现,尽管与Shadertoy上高手的作品相比略显基础,但依然展示了光线步进在图形渲染中的趣味性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity Shader学习:简单RayMarching(光线步进)

简单raymarching实现,还是很好玩的,当然和Shadertoy上的大佬比不了。
在这里插入图片描述
在这里插入图片描述
shader部分:

Shader "Custom/RayMarching"
{
   
   
	Properties
	{
   
   
		_MainTex("MainTex",2D)="white"{
   
   }
		//相机位置
		_CamPos("CamPos",Vector) = (0,0,0,0)
		//球体位置,w分量为半径
		_SpherePos("SpherePos",Vector) = (0,0,0,0)
		_BoxPos("BoxPos",Vector)=(0,0,0,0)
		//立方体旋转
		_BoxRotation("BoxRotation",Vector)=(0,0,0,0)
		//光源位置,w分量为强度
		_LightPos("LightPos",Vector)=(0,0,0,0)
		//抗锯齿采样数
		_AAFactor("AAFactor",Range(1,5))=3
	}
	SubShader
	{
   
   
		Tags{
   
   "RenderType" = "Opaque"}
		Pass{
   
   
			CGPROGRAM
			#pragma vertex vert_img
			#pragma fragment frag
			#include "UnityCG.cginc"
			#include "Lighting.cginc"		

			float4 _CamPos;
	        float4 _SpherePos;
			float4 _TargetPos;
			float4 _LightPos;
			float4 _BoxPos
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值