개발/쉐이더 - 랜더몽키 (2)
1일차 - 텍스처매핑

공부한 걸 정리하는 블로그이므로 모르는 사람은 모를 가능성이 높습니다.

알려주는 블로그가 아님

 

 

각 버텍스(정점)들은 자신들이 표현한 폴리곤에 텍스처를 입히기 위해 uv좌표를 가지고 있음

 

UV좌표  표현법

백분율 (0~1)

 

각 엔진의 표현법

출처 : https://m.blog.naver.com/PostView.nhn?blogId=mo_n23&logNo=221475468651&proxyReferer=https:%2F%2Fwww.google.com%2F

 

 

그리고 이 UV좌표를 넘어갔을때 (만약 오른쪽부분이 (2,0) , (2,1)일때)

반복됨

자세한 내용

https://woodorl.tistory.com/41

 

내가 이해한 내용

정점 uv좌표 :  uv맵에서의 좌표 * 말 어렵게 써놓은덴 이유가 잇음 아래 uv맵 보면 이해됨

픽셀 uv좌표 : 해당 폴리곤을 이루는 정점의 uv좌표를 보간기를 통해 픽셀의 uv좌표를 픽셀에게 전달해줌

uv : 1:1 비율의 텍스처 이고 안에는 u,v,w 값이 들어있다 

w값은 특수한 상황에만 쓰이고 주로  u(r)와 v(g)만 쓰임

 

여기서 정점은 uv 맵의 좌표를 가지고 있다고 했다

그리고 uv는 이렇게 R채널과 G채널로 이루어져있는데

이는 uv맵의 특정 좌표의 R의 값과 G의 값이 텍스처의 백분율(좌표)을 의미하는 것이기때문

Unity로 잠시 넘어와서,이렇게 해준다면? uv 맵은 반복되기 때문에

[uv1 변수가 우리가 만들 uv맵이고 , IN.uv_MainTex 는 기본적인 uv맵(바로 위에있는 사진의 uv맵) 이다]

수직으로 6개가 된다

uv 맵으로 어떻게 표현되는지 나는 알기땜에 넘어감

 

UV맵과 정확한 정의에 대해선 여기까지하고

 

랜더몽키에서 텍스쳐를 표현하려면 이렇게하면된다.

1.Texture 추가

2.텍스처 오브젝트 추가

3.텍스처랑 텍스처 오브젝트의 속성이랑 이름 같게하기

4.텍스처 오브젝트랑 픽셀 쉐이더 전역변수 이름 같게하고 구조체랑 main 매개변수 바꾸기 + tex2D(텍스처전역변수이름, Input.mTexCoord)

참고로 Inpt.mTexCoord가 픽셀의 uv좌표

5.버텍스 쉐이더도 고쳐주기

Ouput.mTexCoord가 정점의 uv좌표이고 픽셀의 uv좌표를 정할때 쓰임 

 

우왕

'개발 > 쉐이더 - 랜더몽키' 카테고리의 다른 글

1일차 - 렌더몽키 툴알기  (0) 2020.06.09
  Comments,     Trackbacks
1일차 - 렌더몽키 툴알기

공부한 걸 정리하는 블로그이므로 모르는 사람은 모를 가능성이 높습니다.

알려주는 블로그가 아님

 

 

다운받고 나서 저거 누르면 DirectX전용 쉐이더를 만들 수 있다.

얘는 전역변수임

Pass0에 버텍스 쉐이더 켜보면 위에 선언되있고 코드에 선언된 값이 workspace에 있는 matViewProjection으로 정해지는거

 

DirectX에서 쉐이더 랜더링할때 매개변수로 값 넣어주듯이 ㅇㅇ

 

그러니 일단 저 matViewProjection을 삭제할거

 

(공부해야하니까)

 

좌표계를 표현할떄 버텍스쉐이더에서 모델의 버텍스에 world , view , projection 메트릭스를 곱하는건 알거임

 

 

그래서 값을 선언하고 곱해주고

넣어줄 값도 추가해주면 

나옴

'개발 > 쉐이더 - 랜더몽키' 카테고리의 다른 글

1일차 - 텍스처매핑  (0) 2020.06.09
  Comments,     Trackbacks