Loading...

Shader 개발을 위한 툴

1. FX Composer https://developer.nvidia.com/fx-composer 사실 2.5까지 버전업이 되었는지도 몰랐다. 이전에 1.x 버전을 쓸 때는 버그가 꽤나 많아서 몇번 쓰다가 패스해 버린 기억이 난다. 2. RenderMonkey http://developer.amd.com/wordpress/media/files/RenderMonkey.2008-12-17-v1.82.322.msi 상당히 조아라 하는 툴이다. 이유는 단지 가벼워서!! 그냥 적당히 필요한 기능은 다 있는 것 같다. 아쉬운건 한 패스에 물체 하나밖에 그리질 못한 다는 거... 3. UDK Material Editor. Unreal에서 제공하는 비쥬얼 머티리얼 제작 편집 툴. 코딩할 필요도 없고(물론 custom..

2013. 2. 20. 10:28

5. 왜 물은 물처럼 보이는 걸까?

앞의 글 참조 1. http://mgun.tistory.com/1282 2. http://mgun.tistory.com/1294 3. http://mgun.tistory.com/1304 4. http://mgun.tistory.com/1306 5번째 글이 늦은 이유는..... 글 적다가 한번 날려서 멘붕이 왔다... 글을 적을 때 한번에 쫘악~ 다 적을 능력이 안 되서 하나의 글을 몇일동안 조금씩 적는데 그걸 날려먹으니 멘탈이 쫀득쫀득해져서 한동안 다시 쓸 엄두가 안났다는...ㅜㅜ... 무튼~! 기본적인 라이팅도 했고 반사도 했으니 이젠 굴절(Refraction)이라는 녀석을 살펴 볼 차례다. 굴절이란 무었인가??그림 1. 출처 : http://mathforum.org/mathimages/index.ph..

2013. 1. 28. 11:10

4. 왜 물은 물처럼 보이는 걸까?

앞의 글 참조 1. http://mgun.tistory.com/1282 2. http://mgun.tistory.com/1294 3. http://mgun.tistory.com/1304 법선맵을 사용한 범프맵핑으로 잔물결을 표현하고 주위의 정경이 비치는 화면반사를 환경맵 텍스처를 이용하여 표현하고, 물의 특성인 가까운 물밑일 수록 물 아랫바닥이 투과되어 보이고 멀수록 수면에 주변 정경이 비쳐 보이는 효과를 적용하기 위한 라이팅(프레넬)을 추가해 준다. 여기 까지가 이 전 글에 다루었던 내용이다. 이제 실제로 만들어 가며 되짚어 보자. 위의 이미지를 보면 위의 글에서 언급했던 "화면반사"의 모습이 뚜렷이 나타난다. 이는 환경텍스처를 사용한 것이라고 하였는데 게임에서 이 환경맵을 사용하는 방법은 크게 두가지..

2013. 1. 17. 14:01

3. 왜 물은 물처럼 보이는 걸까?

앞의 글 참조 1. http://mgun.tistory.com/1282 2. http://mgun.tistory.com/1294 BRDF라는 개념이 왜 중요한가? BRDF는 단순하게 말하자면 입사하는 빛에 따른 반사하는 빛의 비율에 대한 함수다. 우선 물을 물처럼 보이기 위해 Lighting이라는 개념이 들어가는데 렘버트의 단순함 만으로는 사실적인 결과물을 얻기 힘들다. 그 이유는 렘버트는 빛이 입사하는 방향에 관계없이 모든 방향으로 같은 양의 빛을 반사한다고 가정하기 때문이다. (렘버트 모델은 상수 BRDF에 의해 완벽하게 분산 표면을 표현한다.) 하지만 실제로 물을 본다면 물을 바라보는 위치에 따라 물의 빛의 반사정도나 투과정도가 다르다는 것을 알 수 있다. 즉, 특정 표면이 현재 내가 바라보는 시점..

2012. 12. 14. 10:35

2. 왜 물은 물처럼 보이는 걸까?

이 글은 이전글(http://mgun.tistory.com/1282)을 먼저 읽어 보시는게 정신 건강에 좋습니다. 물의 잔물결을 표현하고자 오프라인으로 생성한 법선맵을 이용한다고 하였다. 하지만 이 방법은 법선맵을 여러번 쓰는 것이기 때문에 패턴의 반복이 보일 수 밖에 없다. 그렇다고 법선맵의 스케일을 줘서 크게 써버리면 잔물결 처럼 보이지 않게 되어 버린다. 그래서 해결책 중 하나를 소개하자면 하나의 법선맵을 여러번 스케일 해서 섞어서 쓰는 방식이다. 이는 Ogre의 샘플중 "Ocean"의 코드를 보면 알 수 있다. 게임이 물에 대한 의존성이 높고 사양도 따라준다면 조금 더 욕심을 내 볼 수 있을 것이다. 즉, 오프라인으로 미리 만들어 둔 법선맵을 사용하는 대신 동적으로 법선맵을 생성해서 사용하면 된다..

2012. 12. 14. 10:20

1. 왜 물은 물처럼 보이는 걸까?

왜 물은 물처럼 보이는 걸까? 사실 물을 만드는건 어느정도 정형화된, 뻔한 패턴이 존재한다. 거기에 가격대 성능비를 따져 꼼수를 쓰거나 하는 정도이다. 위키에서의 물의 정의는 간단하다. 물은 산소와 수소가 결합한 화학물질이며 표준온도 압력에서 무색투명하고, 무색무취하며 지표면의 70%정도를 덮고 있다. 가장 보편적인 용매로 보통 액체상태의 물을 가리키지만 고체 상태인 것을 얼음, 기체 상태인 것을 수증기라고 부른다. 즉, 물처럼 보일려면 우선 색깔이 없고 투명(시각적인 부분)해야 하고 액체의 성질(물리적인 부분)을 띄고 있어야 한다. 그렇다면 게임에서는 이러한 성질을 가지고 있는 물을 표현하기 위해 어떤방식을 사용하는가??? 아주 기본적인 방식부터 천천히 올라가 보자. 1. 프로그래머가 사용가능한 셰이더..

2012. 2. 27. 11:10

감마 보정 (gamma correction)

감마 보정 http://ko.wikipedia.org/wiki/%EA%B0%90%EB%A7%88_%EB%B3%B4%EC%A0%95 감마 보정 : 비선형 전달 함수를 사용해 빛의 강도신호를 비선형적으로 변형하는 것. 감마 조정 : 디스플레이 등의 특성에 따라 감마 값을 미세하게 조정하는 것. 감마 보정의 목적 : 인간의 시각이 밝기에 대해 비선형적으로 반응하기 때문에 최적의 화질을 보여주기 위해선 비선형적으로 데이터를 인코딩 하여 어두운 부분을 더 자세히 기록해야 한다. 감마 보정(gamma correction), 감마 인코딩(gamma encoding)의 이해 http://shotgunlee.egloos.com/10607756 자극 사이의 절대적인 차이가 아닌, 자극 사이의 비율이 중요하다. 어두운 부분..

2012. 2. 10. 12:33

벡터

참고 : 2005.02.21.noerror.벡터와행렬 kasa study에서 noerror님이 발표하신 내용. 원래 웹상에서 내적관련 검색하다가 나온 스터디 자료인데 아주 오래전 것인듯..무려 7년전이다~!!!. 별생각 없이 보다가 4번째 장에 벡터 의미 라는 제목으로 space : direction, postion 이라는 단락이 있는데 이게 아무리 생각해 봐도 이해가 안되더라능... 이게 무슨 말일까.... 벡터는 그냥 크기와 방향인데....위치?? 위치는 점이 가지는 특성이고.... 벡터 의미에 방향은 왜 들어가 있는 거지? 하면서 vector space에 그러한 문구가 있었던가? 생각하다 보니 그냥 처음부터 천천히 정리해보자는 심정으로 다시 정리중..... 2005년도에도 참여해서 스터디 들었으면 ..