Skip to content

Instantly share code, notes, and snippets.

View rngtm's full-sized avatar
💭
I may be slow to respond.

rngtm rngtm

💭
I may be slow to respond.
View GitHub Profile
@rngtm
rngtm / ShaderKeywordCollector.cs
Last active March 13, 2024 04:46
Unityプロジェクト内に存在するすべてのマテリアルのシェーダーキーワードをShaderVariantCollectionへ登録するツール (Unity2022 / URP14.0.10)
namespace MyTool
{
using System;
using UnityEditor;
using UnityEngine;
using System.Linq;
using UnityEngine.Rendering;
public class ShaderKeywordCollector : EditorWindow
{
@rngtm
rngtm / chocolateOcean.glsl
Created February 14, 2024 00:10
チョコレートの海シェーダー (GLSL)
// Original : https://www.shadertoy.com/view/MdXyzX
// afl_ext 2017-2023
// Now with 2023 refresh
// MIT License
// Use your mouse to move the camera around! Press the Left Mouse Button on the image to look around!
#define DRAG_MULT 0.28 // changes how much waves pull on the water
#define WATER_DEPTH 1.0 // how deep is the water
#define CAMERA_HEIGHT 1.5 // how high the camera should be
@rngtm
rngtm / GaussianBlur.shader
Last active August 28, 2023 23:54
Spriteにガウシアンブラーを適用した結果をMeshRendererで表示するスクリプトとシェーダー (ブラーの復習に書いた)
Shader "Hidden/GaussianBlur"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_Variance ("Variance", Float) = 1.0
_Range ("Range (px)", Float) = 5.0
_GaussianSum ("Gaussian Sum", Float) = 1.0
_KernelSize ("Kernel Size", Float) = 5
}
@rngtm
rngtm / ColorAndDepthPipeline.cs
Last active August 13, 2023 10:24
UnityのSRPを組む勉強 : _CameraColorAttachmentと_CameraDepthAttachmentを自前で設定するSRP
using UnityEngine;
using UnityEngine.Rendering;
namespace Study
{
public class ColorAndDepthPipeline : RenderPipeline
{
private static readonly int ColorAttachmentId = Shader.PropertyToID("_CameraColorAttachment");
private static readonly int DepthAttachmentId = Shader.PropertyToID("_CameraDepthAttachment");
private static UnityEngine.Experimental.Rendering.GraphicsFormat ColorFormat = SystemInfo.GetGraphicsFormat(UnityEngine.Experimental.Rendering.DefaultFormat.LDR);
@rngtm
rngtm / SimpleTess.shader
Created August 6, 2023 10:58
シンプルなテッセレーションシェーダー
Shader "Unlit/SimpleTess"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TessFactor ("Tess Factor", Vector) = (1, 1, 1, 1) // テセレーション係数 (メッシュをどれくらい分割するかを決定する)
}
SubShader
{
Tags
@rngtm
rngtm / CustomImageEffect.shader
Last active June 26, 2023 22:41
URP 10.7.0でのフルスクリーンエフェクトでのRenderBufferのロード・ストア最適化の検証
Shader "Hidden/CustomImageEffect"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
// No culling or depth
Cull Off ZWrite Off ZTest Always
@rngtm
rngtm / Character-Body.shader
Created June 4, 2023 12:30
透ける眉のシェーダー
Shader "Zenn/Character-Body"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
[Header(Stencil)]
[Space]
_StencilRef("Stencil Ref", Int) = 0
[Enum(UnityEngine.Rendering.CompareFunction)]_StencilComp("Stencil Comp", Int) = 0
[Enum(UnityEngine.Rendering.StencilOp)]_StencilPassOp("Stencil Pass", Int) = 0
@rngtm
rngtm / MyToonBasePass.hlsl
Last active April 30, 2023 16:05
デプスマップを使った影のレンダリングの勉強
#ifndef MYTOON_BASE_INCLUDED
#define MYTOON_BASE_INCLUDED
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
float4x4 _LightVP; // Projection * View
float4 _LightPos; // ライト位置
sampler2D _SelfShadowMap;
sampler2D _MainTex;
float _DepthOffset;
@rngtm
rngtm / DrawMeshFeature.cs
Created January 31, 2023 17:59
CommandBufferで全画面にメッシュを表示するやつ (URP 10.8.1)
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering.Universal;
public class DrawMeshFeature : ScriptableRendererFeature
{
[SerializeField] private Material materialAsset;
[System.NonSerialized] private Mesh _mesh;
@rngtm
rngtm / DOTweenMoveWindow.cs
Last active May 14, 2022 03:13
EditorWindowからDOTweenのDOMoveを実行するサンプル
using DG.Tweening;
using UnityEditor;
using UnityEngine;
public class DOTweenMoveWindow : EditorWindow
{
#region Class
/// <summary>
/// Tweenの状態
/// </summary>