Shader Laboratory
844 subscribers
265 photos
15 videos
59 files
404 links
Shader Laboratory
a channel about shaders in telegram

ID : @smkgames

MyStack : goo.gl/smMuqe 😎👌
Download Telegram
Forwarded from Kamali
alpha : fade
Forwarded from Deleted Account
خب فایل شیدر ؟ من شیدر نویس نیستم اگه می شه فایل شیدرو بفرست دوست عزیز
Forwarded from Kamali
Shader "Custom/Transparent"
{
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
}
SubShader
{
Tags {"RenderType"="Transparent" "Queue"="Transparent"}
LOD 200
Pass {
ColorMask 0
}
// Render normally

ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB



CGPROGRAM

#pragma surface surf Standard fullforwardshadows alpha:fade
#pragma target 3.0


sampler2D _MainTex;

struct Input {
float2 uv_MainTex;
};

half _Glossiness;
half _Metallic;
fixed4 _Color;

void surf (Input IN, inout SurfaceOutputStandard o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Standard"
}
Forwarded from Kamali
Shader "Kamaly/TransparentCubeMap" {
Properties {
_MainTex("Main Map", 2D) = ""{}
_Cube("Reflection Map", Cube) = "" {}
_reflectionAmount("Reflection amount", Range (0.0,1.0)) = 0.3
}
SubShader {

Tags {"RenderType"="Transparent" "Queue"="Transparent"}
LOD 200
Pass {
ColorMask 0
}
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB

Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
// User-specified uniforms
uniform samplerCUBE _Cube;
uniform sampler _MainTex;
uniform fixed _reflectionAmount;
struct vertexInput {
float4 vertex : POSITION;
float3 normal : NORMAL;
float2 uv : TEXCOORD;
};
struct vertexOutput {
float4 pos : SV_POSITION;
float3 normalDir : TEXCOORD0;
float3 viewDir : TEXCOORD1;
float2 uv : TEXCOORD2;
};
vertexOutput vert(vertexInput input)
{
vertexOutput output;

output.uv = input.uv;
float4x4 modelMatrix = unity_ObjectToWorld;
float4x4 modelMatrixInverse = unity_WorldToObject;
// دیگه نمی خواد در unity_Scale.w ضربش کنیم
// چون ما بردارهای تبدیل شده رو نرمالایز می کنیم (بردار یکه)
output.viewDir = mul(modelMatrix, input.vertex).xyz
- _WorldSpaceCameraPos;
output.normalDir = normalize(
mul(float4(input.normal, 0.0), modelMatrixInverse).xyz);
output.pos = UnityObjectToClipPos(input.vertex);
return output;
}
float4 frag(vertexOutput input) : COLOR
{
float3 reflectedDir =
reflect(input.viewDir, normalize(input.normalDir));
return lerp(tex2D(_MainTex,input.uv),texCUBE(_Cube, reflectedDir),_reflectionAmount);
}
ENDCG
}
}
}
👍1
Forwarded from Kamali
Forwarded from Kamali
Forwarded from Kamali
Forwarded from Kamali
Shader "Kamaly/BlurTransparentCubeMap"
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
_Color ("_Color", Color) = (1,1,1,1)
_Alpha ("Alpha", Range (0,1)) = 0.142

_Cube("Reflection Map", Cube) = "" {}
_reflectionAmount("Reflection amount", Range (0.0,1.0)) = 0.842
_BlurNumber("BlurNumber",Float) = 0.18
}

SubShader
{

Pass {
ColorMask 0
}
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB

Pass
{

CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#pragma target 3.0
#include "UnityCG.cginc"

uniform samplerCUBE _Cube;
uniform fixed _reflectionAmount;

struct vertexInput {
float4 vertex : POSITION;
float3 normal : NORMAL;
float2 texcoord : TEXCOORD;
};
struct vertexOutput {
float4 pos : SV_POSITION;
float3 normalDir : TEXCOORD0;
float3 viewDir : TEXCOORD1;
float2 texcoord : TEXCOORD2;
};


sampler2D _MainTex;
fixed4 _Color;
float _Distortion;
fixed _Alpha;
float _BlurNumber;
float _BurnAmount;

vertexOutput vert(vertexInput input)
{
vertexOutput output;

output.texcoord = input.texcoord;
float4x4 modelMatrix = unity_ObjectToWorld;
float4x4 modelMatrixInverse = unity_WorldToObject;
// ضرب با unity_Scale.w غیر ضروری است
// چون ما بردارهای تبدیل شده را عادی می کنیم
output.viewDir = mul(modelMatrix, input.vertex).xyz
- _WorldSpaceCameraPos;
output.normalDir = normalize(
mul(float4(input.normal, 0.0), modelMatrixInverse).xyz);
output.pos = UnityObjectToClipPos(input.vertex);
return output;
}

float4 frag (vertexOutput input) : COLOR
{

float4 result = 0;


float3 reflectedDir =
reflect(input.viewDir, normalize(input.normalDir));

for(float i=0;i<_BlurNumber;i+=0.02){

float3 A = texCUBE(_Cube,reflect(input.viewDir, normalize(input.normalDir)+float3(i,0,0)));
float3 B = texCUBE(_Cube,reflect(input.viewDir, normalize(input.normalDir)+float3(0,i,0)));
float3 C = texCUBE(_Cube,reflect(input.viewDir, normalize(input.normalDir)+float3(0,0,i)));

float4 Layers = float4((A+B+C)/3,1);

result =lerp(result,Layers,_Alpha);

}

return lerp(tex2D(_MainTex,input.texcoord),result,_reflectionAmount)*_Color;

}

ENDCG
}
}

}
Forwarded from Kamali
float3 A = texCUBE(_Cube,reflect(input.viewDir, normalize(input.normalDir)+float3(i,0,0)));

float3 B = texCUBE(_Cube,reflect(input.viewDir, normalize(input.normalDir)+float3(0,i,0)));

float3 C = texCUBE(_Cube,reflect(input.viewDir, normalize(input.normalDir)+float3(0,0,i)));

float4 Layers = float4((A+B+C)/3,1);

result =lerp(result,Layers,_Alpha);
Forwarded from Kamali
اینم بررسی کنید مطالب خوبی نوشته👆👆👆
Forwarded from Kamali
Forwarded from Kamali
Shader "Kamaly/Cars" {
Properties {
_Color("Color",Color) = (1,1,1,1)
_Cube ("Cubemap", CUBE) = "" {}
_Metallic("Metallic",Range(0,1)) = 1
_Smoothness("Smoothness",Range(0,1)) = 1
_Alpha("Alpha",Float) = 1
}
SubShader {
Tags {"RenderType"="Transparent" "Queue"="Transparent"}
LOD 200
Pass {
ColorMask 0
}
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB

CGPROGRAM
#pragma surface surf Standard fullforwardshadows alpha:fade

struct Input {
float2 uv_MainTex;
float3 worldRefl;
};
sampler2D _MainTex;
samplerCUBE _Cube;
float4 _Color;
float _Metallic;
float _Smoothness;
float4 _EmissionColor;
float _Alpha;
void surf (Input IN, inout SurfaceOutputStandard o) {
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;

o.Albedo = c.rgb * 0.5 * _Color;
o.Emission = texCUBE (_Cube, IN.worldRefl).rgb*_Color;
o.Metallic = _Metallic;
o.Smoothness = _Smoothness;
o.Alpha = _Alpha;

}
ENDCG
}
Fallback "Diffuse"
}
MHD
میخواستم بدونم شیدر بدنه های ماشین csr2 چجوری کار میکنه و الگوریتمش چیه که هم باکیفیته و هم پردازش کمتری داره
برای ساخت شیدر بدنه به متریال PBR نیاز دارید و همچنین برای رفلکشن می تونید از CubeMap استفاده کنید
Forwarded from Kamali
سلام دوستان امشب اگر مایل باشید درباره ی توابع فاصله کمی بحث کنیم کنیم
Forwarded from Kamali
http://numb3r23.github.io/cgTalk/04_distancefields.html


Distances
2D-Distance maps
2D-Distance functions
3D-Distance fields - functions
3D-Distance fields - geometries
Forwarded from Kamali
فاصله چیست؟

ویژگی ایجاد شده توسط فضای بین دو نقطه
فضا چیست؟ Rn → R2، R3
Forwarded from Kamali
فاصله ی اقلیدسی و فاصله منهتن
https://en.wikipedia.org/wiki/Taxicab_geometry
Forwarded from Deleted Account
ببخشید میان پست تون پیام میدم میشه درباره کاربردش توضیح بدید اول کجا استفاده میشه
Forwarded from Deleted Account
👍🏻👍🏻👍🏻 حتما باید مطلب خوبی باشه / چون تا حالا اسمش رو نشنیده بودم