'Unity/shader'에 해당되는 글 20건
- 2022.01.10 유니티 쉐이더 밉맵
- 2022.01.07 유니티 Compute Shader
- 2021.12.29 랜덤 쉐이더
- 2021.08.17 유니티 코드없이 Invisible 사용하기 (마스크 거꾸로 사용)
- 2021.06.12 Depth 쉐이더
- 2021.04.17 유니티 쉐이더 기초
- 2021.04.17 유니티 쉐이더 게임 관련
- 2021.03.02 모션블러 종류 1
https://www.shadertoy.com/view/4djSRW
hashOld12의 패턴
float hashOld12(float2 p)
{
return sin(dot(p, float2(100, 100)));
}
hash12의 패턴
float hash12(float2 p)
{
float3 p3 = sin(float3(p.xyx) );
p3 += dot(p3, p3.yzx );
return sin((p3.x + p3.y) * p3.z);
}
편향랜덤이라서 안 쓰는게 좋을듯
noise(floatM|halfM|min10floatM|min16floatM)
'Unity > shader' 카테고리의 다른 글
유니티 Compute Shader (0) | 2022.01.07 |
---|---|
유니티 코드없이 Invisible 사용하기 (마스크 거꾸로 사용) (0) | 2021.08.17 |
Depth 쉐이더 (0) | 2021.06.12 |
마테리얼을 다음처럼 설정하고
0,1,2
6,1,0
InvisibleTarget에 스프라이트를 넣고 Invisible로 지우면 된다
Invisible이 먼저 와야한다
Stencil ID는 서로 동일해야한다
스텐실
'Unity > shader' 카테고리의 다른 글
랜덤 쉐이더 (0) | 2021.12.29 |
---|---|
Depth 쉐이더 (0) | 2021.06.12 |
유니티 쉐이더 기초 (0) | 2021.04.17 |
유니티 셰이더는 HLSL임
실수형
float
-고정밀
-32비트
half
-중정밀
-16비트
-범위 : -60,000 ~ +60,000
-정밀도 : 십진숫자 약 3개
fixed
-저정밀
-11비트
-범위 : -2.0 ~ +2.0
-정밀도 : 1/256
정수형
int
fixed4 타입 선언
fixed4 col = fixed4(0,0,0,0);
전부 잘 작동
for
break
switch
continue
Fixed Function Shader 샘플
Shader "Ahzkwid/UnlitCullFont" {
Properties {
_MainTex ("MainTex", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,0)
_Stencil_Ref ("Stencil_Ref", int) = 1
}
SubShader {
Tags {
"RenderType"="Opaque"
"Queue"="Geometry+3000"
}
Cull front
//ZTest Always
Pass{
blend srcalpha oneminussrcalpha
SetTexture [_MainTex]
{
ConstantColor [_Color]
//Combine texture
//Combine texture lerp(texture) constant
//Combine texture* primary DOUBLE, texture* constant
Combine texture* primary
Combine previous* constant
}
}
}
}
'Unity > shader' 카테고리의 다른 글
Depth 쉐이더 (0) | 2021.06.12 |
---|---|
유니티 쉐이더 게임 관련 (0) | 2021.04.17 |
모션블러 종류 (1) | 2021.03.02 |
#define _BoardSize 8.0
int2 GetPiecePos(float2 _pos)
{
return int2(min(_BoardSize-1, _pos.x * _BoardSize), min(_BoardSize-1, _pos.y * _BoardSize));
}
fixed2 GetUvPos(int2 _pos)
{
return fixed2((half)_pos.x / _BoardSize + (0.5 / _BoardSize), (half)_pos.y / _BoardSize + (0.5 / _BoardSize));
}
int2 piecePos = GetPiecePos(i.uv);
fixed2 uvPos = GetUvPos(piecePos);
col.r = uvPos.x * 0.1;
col.g = uvPos.y * 0.1;
col.a = 1;
return col;
결과
#define _BoardSize 8.0
int2 GetPiecePos(float2 _pos)
{
return int2(min(_BoardSize-1, _pos.x * _BoardSize), min(_BoardSize-1, _pos.y * _BoardSize));
}
int2 LenPos(int len, int angle)
{
int2 _pos = int2(0, 0);
switch (angle)
{
case 0:
_pos.x = len;
_pos.y = 0;
break;
case 45:
_pos.x = len;
_pos.y = len;
break;
case 90:
_pos.x = 0;
_pos.y = len;
break;
case 135:
_pos.x = -len;
_pos.y = len;
break;
case 180:
_pos.x = -len;
_pos.y = 0;
break;
case 225:
_pos.x = -len;
_pos.y = -len;
break;
case 270:
_pos.x = 0;
_pos.y = -len;
break;
case 315:
_pos.x = len;
_pos.y = -len;
break;
}
return _pos;
}
int2 piecePos = GetPiecePos(i.uv);
int angle = piecePos.y * 45;
col.r = 0.5+(float2)LenPos(piecePos.x, angle).x * 0.05;
col.g = 0.5 + (float2)LenPos(piecePos.x, angle).y * 0.05;
col.b = 0.5;
col.a = 1;
return col;
결과
아름다운 무지개가 나왔다
Hue가 어째서 360도의 각도를 지니는지 알수있는 부분
int2 LenPos(int len, int angle)
{
int2 _pos = int2(0, 0);
if (angle == 0)
{
_pos.x = len;
_pos.y = 0;
}
else if (angle == 45)
{
_pos.x = len;
_pos.y = len;
}
else if (angle == 90)
{
_pos.x = 0;
_pos.y = len;
}
else if (angle == 135)
{
_pos.x = -len;
_pos.y = len;
}
else if (angle == 180)
{
_pos.x = -len;
_pos.y = 0;
}
else if (angle == 225)
{
_pos.x = -len;
_pos.y = -len;
}
else if (angle == 270)
{
_pos.x = 0;
_pos.y = -len;
}
else if (angle == 315)
{
_pos.x = len;
_pos.y = -len;
}
return _pos;
}
if버전
'Unity > shader' 카테고리의 다른 글
유니티 쉐이더 기초 (0) | 2021.04.17 |
---|---|
모션블러 종류 (1) | 2021.03.02 |
유니티 쉐이더 인스펙터 (0) | 2021.02.21 |
1.이전화면 프레임을 남기는 방식
=초당프레임을 충분히 올리지 않으면 잔상현상이 생김
따라서 처리량대비 성능이 안 좋음
2. 화면내에서의 각속도와 이동속도를 가져와서 쉐이더에서 블러처리를 적용
=위화감이 생기지만 1번에 비해 가벼움
3.이전 프레임과 비교하여 변형된 부분에 블러를 적용
=가볍고 빠르지만 현실적이진 않고 눈속임정도
4. MSAA처럼 메쉬 가장자리에만 블러를 적용
=경량이지만 후짐
근데 24년기준 144hz 250hz 모니터가 일상화됨에 따라
모션블러는 60hz라는 한정된 프레임속에서 자연스러움을 구현하려고 했던 과도기적인 구식기술이 되었다
'Unity > shader' 카테고리의 다른 글
유니티 쉐이더 게임 관련 (0) | 2021.04.17 |
---|---|
유니티 쉐이더 인스펙터 (0) | 2021.02.21 |
스텐실 (0) | 2021.01.20 |