12345678910111213141516171819202122232425262728293031323334353637 |
- using UnityEngine;
- using System.Reflection;
- namespace UnityEditor.ShaderGraph
- {
- [Title("Math", "Wave", "Noise Sine Wave")]
- class NoiseSineWaveNode : CodeFunctionNode
- {
- public NoiseSineWaveNode()
- {
- name = "Noise Sine Wave";
- }
- protected override MethodInfo GetFunctionToConvert()
- {
- return GetType().GetMethod("NoiseSineWave", BindingFlags.Static | BindingFlags.NonPublic);
- }
- static string NoiseSineWave(
- [Slot(0, Binding.None)] DynamicDimensionVector In,
- [Slot(1, Binding.None, -0.5f, 0.5f, 1, 1)] Vector2 MinMax,
- [Slot(2, Binding.None)] out DynamicDimensionVector Out)
- {
- return
- @"
- {
- $precision sinIn = sin(In);
- $precision sinInOffset = sin(In + 1.0);
- $precision randomno = frac(sin((sinIn - sinInOffset) * (12.9898 + 78.233))*43758.5453);
- $precision noise = lerp(MinMax.x, MinMax.y, randomno);
- Out = sinIn + noise;
- }
- ";
- }
- }
- }
|