본문 바로가기
유니티(Unity) 의 뷰 프러스텀 (View frustum)컬링 카메라에는 보이는 영역, 원뿔 .. 은 아니고 사각뿔 영역이 있습니다. 이 영역을 View frustom 뷰 프러스텀 이라고 하고, 이 영역 안에 있으면 화면에 보이는 걸로 치고 렌더링합니다. http://en.wikipedia.org/wiki/Viewing_frustum 네 뭐 좋습니다. 안보이면 안그리고 딱 좋지요. 보이면 그리는 겁니다. 하지만 이따만한 오브젝트가 있을 때, (2만 폴리곤이군요) 그 와중에 화면에 요따시만큼만 보일 때, 어떻게 될까요? 우선, 이 오브젝트는 보이는 건가요? 안보이는 건가요? ... 네 보이는 겁니다. 큰 오브젝트의 폴리곤 하나라도 보이면 이 오브젝트는 '보이는 겁니다' CPU는 매 프레임마다 이 화면에 어떤 오브젝트가 있는지를 검사하고 있습니다. '일' 을 하고 있는.. 2015. 2. 6.
tex2Dlod와 tex2Dbias의 비교연구 둘은 상당히 비슷한 기능을 하죠. mipmap 제어라는... 그치만 공식의 작동법은 미묘하게 달라요. lod가 shader3.0을 요구한다는 것도 다르고요... 프로그래머들에게 물어보면 공식에 대한 차이만 말해주니까요 자세한 느낌을 보기 위해 직접 테스트를 해 봤습니다. 예제를 만들어 봤습니다. 둘이 똑같아 보이죠? 근데 제 눈에는 살짝 오른쪽 텍스쳐가 추가 샘플링 된 것처럼 보입니다. 그래서 정말 그런가 테스트 오호라 과연 정말입니다. tex2Dlod는 고정된 mipmap을 유지하지만, bias 는 이름값대로 추가로 바이어스를 걸어주고 있는 느낌입니다. 그럼 이번에는 값에 따른 변화를 테스트 하기 위해 다시 근접시킵니다. 음 겜브리오때는 밉맵을 수동 설정 가능했는데. 유니티는 방법이 없을까낭... 뭐 .. 2015. 2. 1.
이번학기 내 강의평가 총정리 .... 이미 소문이 날만큼 났을듯... 2015. 1. 28.
tex2dlod / tex2dbias tex2dlod (sampler, float4(UV, 0,miplevel)) tex2Dlod 는 밉맵의 레벨을 불러온다. 일부러 텍스쳐를 흐리게 할 때 유용함. 단 이걸 사용하면 거리에 따른 밉맵 조절이 안되는 문제가 있다. miplevel은 0 부터 사용한다. 숫자가 늘어날수록 밉 레벨이 늘어난다. 여기서의 miplevel은 2.5라고 넣는다면 2와 3 사이를 보간해 준다 #pragma target 3.0 필요 http://kblog.popekim.com/2011/04/tex2dlod.html tex2dbias (sampler, float4(UV, 0,miplevel)) tex2Dbias 는 밉맵의 레벨을 불러온다. 일부러 텍스쳐를 흐리게 할 때 유용함. 음.. 여기서의 miplevel은 2.5 라고 .. 2015. 1. 25.
UNITY_INITIALIZE_OUTPUT( ) UNITY_INITIALIZE_OUTPUT(type,name) 함수 HLSLSupport.cginc 에 정의되어 있는 함수. #if defined(UNITY_COMPILER_HLSL) #define UNITY_INITIALIZE_OUTPUT(type,name) name = (type)0; #else #define UNITY_INITIALIZE_OUTPUT(type,name) #endif HLSL 컴파일러가 왔을때에야 작동하는 함수. So, it does nothing unless the HLSL compiler is compiling. In that case it sets its value to a typecasted zero. That way the compiler won't complain about.. 2015. 1. 25.
2pass를 이용한 깨끗한 반투명 만들기 ... 쉽네요? 2Pass가 서피스 쉐이더에 사용하게 되니까 간편하게 깨끗한 반투명을 만들 수 있겠군요. ... 해서 만들어 봤더니 됩니다. 이전에 프레그먼트로 구현했던 건데 서피스로 간단하게 구현되니 허무하네요 허허허허 ㅎ 그러니까 이런 녀석이 있다면 반투명 만들면 이렇게 됩니다. 뭐 .. 어쩔 수 없죠. 이거 당연하다고 하고 살아왔습니다. 이걸 제대로 해결하려면 2Pass를 써야만 합니다. 요령은 첫 번째 Pass에 Z버퍼를 쓰고, 아무것도 그리지 않는 겁니다. ColorMask를 써도 되지만 뭐 안써도 돼요. 하지만 쓰는 쪽이 아마도 효율적이지 않을까... 싶습니다. 아예 안그리는거니. (해 보니까 콜 수는 변환이 없네요. 시무룩) 그리고 두 번째 Shader에서 반투명을 적용해 주기만 하면 끝. 매우 간단하고 효.. 2015. 1. 19.
유니티 서피스 쉐이더에서 2pass 쓰기 : Multipass Surface shader 예전엔 분명 안 되었었는데... 4.x 때 초반에는 몇번이고 시도해 봤다가 에러나서 포기했던 방법인데 얼마전 학생이 되는데요??!?? 해서 해보니 진짜 되네요 대박 ... 예전에는 막 이렇게 저렇게 요상하게 처리해야 서피스에서 겨우 돌려서, 그냥 프레그먼트로 짜버렸었는데 말이죠. 어쨌건 서피스 쉐이더에서 Multipass가 가능해 진걸 알았으니 매우 편리해 지겠네요 . Tag까지도 중복되는지는 테스트 해봐야 겠습니다만, 어쨌거나 된다는 것만으로도 이건 뭐 ... 2015. 1. 19.
청강대 졸업작품팀 MKZ 팀 데이터 가지고 놀기 학교 와 봐서 컴퓨터를 보니 맡고있는 청강문화산업대학 2학년 졸업작품팀 MKZ 팀의 데이터가 제 컴에 있네요. 그동안 너무 성급하게만 얘기해 주느라 각잡고 라이팅 만져 주질 못했는데 이번에 한번 만져줘 봤습니다. 유니티 리얼타임 엔진샷입니다. 물론 데이터를 주진 않을거구요. '너희가 만든 데이터가 이렇게 괜찮은 거다' 라는걸 보여줄 생각으로 그냥 보여줄 생각입니다. ㅎ 분명히 실력들은 있거든요. 리소스 최적화도 잘 되어 있고, 모듈화도 훌륭한데 라이팅만 좀 아쉬워서 ... 참고로 아래가 학생들이 작업한 원본. 같은 데이터입니다. 뭐 담학기에는 붙잡아 놓고라도 가르칠 예정입니다. 2014. 12. 23.
청강대 게임전공 2학년 2학기 이펙트 수업 과제 이번에 이펙트에 눈을 뜬 "배경원화가 " 현재 졸작팀 이펙트 담당 . 색감과 드로잉 공부를 더 해야 할 듯 역시 졸작팀 이펙트 담당. 캡쳐가 이상하게 되었는지 중간에 멈칫멈칫함. 마지막 과제시간때 졸작팀 기말발표에 밤들을 새느라고 전체적인 과제 퀄리티가 예상보다 못 나온게 함정... 2014. 12. 18.
유니티 라이트맵에서 투명도 적용하기 : Transparent Shadow in Lightmap 역시 이번에도 영원한 스승님인 스킬트리랩의 이득우 스승님의 도움을 받았습니다. 모르는게 없어 이 분은.... 일단 문제가 뭐냐면, 유니티에서 라이트 맵을 구울때 투명도인 부분의 문제입니다. 이런 맵이 있다고 칩시다. 실시간 그림자예요.Shader 는 Cutout 계열. 그림자가 잘 나옵니다. 그런데 이걸 라이트맵으로 구우면 이렇게 나옵니다. 사각형으로...알파가 적용이 안돼요... 여기에는 여기 좋은 답변이 있습니다. 사실 검색만 해도 나오긴 하는군요. http://answers.unity3d.com/questions/49537/can-transparent-textures-be-lightmapped.html 방법은, Properties에 _TransparencyLM ("Transmission LightM.. 2014. 12. 15.
Gamma Correction 감마 코렉션 : 어째서? 감마 코렉션은 어째서 생긴 걸까? - 감마 코렉션의 시작 "감마 코렉션은 예전 모니터인 CRT (전자총을 이용하는 브라운관 모니터) 의 특성에 기인한 것이다 " 라는 말이 있었습니다만... 일단 이것도 영 의미없는 말은 아닌 듯 싶은데, 어쨌거나 주 이유는 아닌 것 같습니다. http://ko.wikipedia.org/wiki/%EA%B0%90%EB%A7%88_%EB%B3%B4%EC%A0%95 이건 예전에 저도 어느 책에서 읽었었단 말이죠. 기억은 안나는데. 이것은 예전 모니터인 CRT 모니터에서는 이미지가 좀 어둡게 나올 수 밖에 없는 구조더라.. 뭐 그런 스타일의 얘기였는데. 됐습니다. 주 이유가 아닌 듯 하니까. 어쨌거나 됐어요. 요샌 LCD나 LED잖아. OLED도 나오는 시대에 뭐 그래서 진짜 .. 2014. 12. 8.
Gamma Correction : 감마 코렉션 Gamma Correction Gamma Correction을 눈으로 볼 수 있게 만든 예제. 뭐 흔히 볼 수 있는 예제긴 한데... 한 번 만들어 보았습니다. 이거 잘못 올려서 개고생 한건 비밀 1. 모니터는 어둡다. 위 그림을 보고 일단 설명을 해야겠군요. 위 그림을 잘 보시면 3장의 그림을 붙여놓은 겁니다. 일단 왼쪽의 Gray 라고 하는 걸 보세요. 흰 색과 검은 색을 한 줄씩 섞어 놓은 것입니다. 뭐...조금만 멀리 떨어져서 보면 (혹은 눈을 가늘게 뜨던가요) 회색으로 보인다는 것을 알 수 있습니다. 이상적인 회색이지요. 그리고 오른쪽에 있는 사진 둘은... 128은 RGB가 (128,128,128) 이고 187은 (187,187,187) 을 의미하는 그림입니다. 뭔가 이상하죠... 128이 분.. 2014. 12. 7.
반응형