본문 바로가기

분류 전체보기117

2.1 Noise TV 화면 만들어보기 Noise effect를 구현해 봅시다. Noise effect는 Randomness과 확률이 관련 된다. 각 픽셀이 랜덤으로 표시 하되, 특정 패턴이 생기지 않도록 해야 한다. 각 픽셀 마다 픽셀을 나타낼지 말지를 결정하는 확률을 구하는 것으로 보면 된다. 확률을 구하기 위한 특정 상수가 들어간다 이 값은 Noise를 만드는 여러 예제 소스에서 해당 값을 사용하고 있다. a = 12.9898 b = 78.233 c = 43758.543123 그리고 dot 함수가 등장하는데, 내적이라고 한다. dot(a, b)면, a b의 각 원소를 쌍쌍히 곱하고 더해서 스칼라 값을 만든다. 예를 들어 a,b가 2차원 벡터라고 하면 다음과 같습니다. a = vec2(a1, b1) b = vec2(c1, d1) dot(a.. 2023. 8. 6.
1.6 도형 - 라인 그려보기 라인도 대각선 방향으로된 사각형의 영역이라고 생각하시면 됩니다. 사각형의 경우 렌더링 방법은 좌측하단 꼭지점과 우측 상단 꼭지점을 기준으로 영역을 지정하고, 좌측하단 꼭지점 영역 - 우측상단 꼭지점 영역으로 구했습니다. 모르시는 분 아래 포스팅 참조! https://graphicsimon.tistory.com/12 5. Draw Rectangle - 1 지난 시간 원에 이어서 사각형을 렌더링 해봅시다. 결국은 동일한 원리 이지만, 이해를 돕기 위해 2가지 방법을 설명 드립니다. 사각형을 렌더링 함수를 rect라고 정의 하겠습니다. 함수의 인자는 graphicsimon.tistory.com 사각형의 경우 좌측하단 꼭지점이 (-0.2, -0.2)라고 하면 개념적으로 y = -0.2, x = -0.2라는 두 .. 2023. 7. 20.
1.5 도형 - Draw Circle 심화 04 챕터 Draw Circle을 구현해봤습니다. - https://graphicsimon.tistory.com/11?category=1119246 조금더 응용버전으로 작성해 보겠습니다. 먼저 frag 함수에서 position * 2를 해서 -1 ~ 1 좌표계 범위로 만들어 보겠습니다. 다시 말씀드리면 -0.5 ~ 0.5 좌표계에서 2를 곱한 것 입니다. radius는 0.5로 주어졌다고 가정합니다. 1) 기본 원 렌더링 lenght 함수는 벡터의 크기(길이)를 구합니다. pt - center를 해서 벡터를 구한 뒤, 길이를 구하면 l각 픽셀과 center과의 거리 (len)가 나옵니다. len 값과 주어진 raidus과 비교하여, len이 거리가 작으면 0을 리턴하게 됩니다. 1을 빼주게 되니, 원 내.. 2023. 7. 18.
1.4 도형 - 타일링 타일링을 해봅시다 타일링이라고 함은 특정 모양의 여러개의 타일들이 일정한 간격으로 배치가 되는 것을 의미 합니다. 우리는 사각형을 만드는 것을 배웠으니, 사각형 모양으로 여러개를 반복해서 렌더링 할 것입니다. 아래 타일링을 적용하는 코드는 아래 한 줄 입니다. float2 pos = frac(i.position.xy * _TileCount); 원리는 다음과 같습니다. frac 함수는 분위수 부분을 반환합니다. frac(x) + floor(x) = x 로 정의 됩니다. frac(x)는 분수 부분을 리턴합니다. 예를 들어 1) 11.43경우, floor는 11, frac은 0.43 입니다. 2) -1.4 음수 경우 = floor는 -2, frac은 0.6 입니다. UnityObjectToClipPos 함수로.. 2023. 7. 13.