Skip to content

Instantly share code, notes, and snippets.

View sugi-cho's full-sized avatar
😪
zzz

Hironori Sugino sugi-cho

😪
zzz
View GitHub Profile
@sugi-cho
sugi-cho / Uneune.shader
Last active March 31, 2022 11:53
頂点をいじるシェーダーで、法線もいじる
Shader "Custom/Uneune" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
_BumpMap ("bump",2D) = "bump" {}
_VNF ("vert normal factor", Float) = 1.0
_MNF ("map normal factor", Float) = 1.0
}

#UNITY_MATRIX_IT_MVの使い方とか View空間座標から、Object空間座標に変換する。
float4 objectSpacePos = mul(viewSpacePos, UNITY_MATRIX_IT_MV);

Projection空間座標から、View空間座標に変換 これは違った!!
float4 viewSpacePos = mul(eyeSpacePos, UNITY_MATRIX_P);

void vert(inout appdata_full v){
half4 worldPos = mul(_Object2World, v.vertex);
half4 viewPos = mul(UNITY_MATRIX_V, worldPos);
half4 eyePos = mul(UNITY_MATRIX_P, viewPos);
viewPos = mul(unity_CameraInvProjection, eyePos);
half4 localPos = mul(viewPos, UNITY_MATRIX_IT_MV);
v.vertex = localPos;
}
@sugi-cho
sugi-cho / v2fStandard-Deferred.shader
Last active August 25, 2019 18:32
Generateされた、standard shaderを要らないpassを削って使いやすくしたもの(deferred pass のみ)。 影をいじりたかったら、cast shadow のpassを追加する必要あり。vertexいじらなかったら、影は不自然じゃなく落とせる。
Shader "Custom/Generated-SurfDeferred" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
}
CGINCLUDE
#include "HLSLSupport.cginc"
@sugi-cho
sugi-cho / imageEffects.shader
Created September 14, 2015 11:45
Unity5 Base Shaders
Shader "Hidden/NewImageEffectShader"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
CGINCLUDE
#include "UnityCG.cginc"
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
public class MultiRenderTexture : MonoBehaviour
{
public RenderTextureUtil util;
public Material updateMat;
public string[] propNames;
@sugi-cho
sugi-cho / ViewPortToPos.shader
Last active April 8, 2022 00:28
クリップ座標系から、ワールド座標へ変換するやつ。理解を深めた http://www.songho.ca/opengl/gl_projectionmatrix.html
Shader "Unlit/ViewPortToPos"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_VP ("viewport position", Vector) = (0.5,0.5,1,0)
}
SubShader
{
Tags { "RenderType"="Opaque" }
@sugi-cho
sugi-cho / gist:011ef8eccdaf43cdab52
Created November 26, 2015 02:02
名前の付け方、考え中
lPos / local position / v.vertex
wPos / world position / mul(_Object2World, v.vertex)
vPos / view position / mul(UNITY_MATRIX_MV, v.vertex)
cPos / clip Position / mul(UNITY_MATRIX_MVP, v.vertex)
@sugi-cho
sugi-cho / ShadowCaster.shader
Last active November 26, 2015 14:38
Shaderの影を投影する部分。
Shader "Custom/ShadowCaster" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
// ---- shadow caster pass:
@sugi-cho
sugi-cho / Billboard-CastShadow.shader
Created November 26, 2015 14:27
ビルボードで、影を落とす、受ける、球。
Shader "Unlit/Billboard-CastShadow"
{
Properties
{
_DC ("diffuse", Color) = (0.5,0.5,0.5,1)
_SC ("Specular color (RGB), roughness (A)", Color) = (0.5,0.5,0.5,0.5)
_Size ("size", Float) = 1
}
CGINCLUDE
#define UNITY_PASS_SHADOWCASTER