Unity Shader学习:ShaderToy黑洞
ShaderToy地址:https://www.shadertoy.com/view/llSGRG
c#部分:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MousePosition : MonoBehaviour {
public Material m;
public Texture2D tex;
private void OnRenderImage(RenderTexture source, RenderTexture destination)
{
m.SetTexture("_Noise", tex);
Graphics.Blit(source, destination, m, 0);
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButton(0))
{
m.SetVector("_iMouse", new Vector4(Input.mousePosition.x, Input.mousePosition.y, 0, 0));
}
}
}
shader部分:
Shader "Unlit/RayMarchingBlackHole"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {
}
_iMouse("_iMouse",Vector) = (0,0,0,0)
}
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#inclu