<p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/162903440408c79da6d83f400d8f916bccd6cf449d__mn715198__w664__h499__f18820__Ym202108.jpg" alt="bandicam 2021-08-15 21-06-45-190.jpg" style="width:664px;height:499px;" filesize="18820"></p> <p> </p> <p>빛이 굴절되어 나타나는 효과를 내보기 위해 몇번 시도해보았지만 번번히 실패했음. 이유는 두가지가 있음.</p> <p> </p> <p>첫번째는 샘플의 문제. </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/162903440542a1aeb79d8a4b879d73962e081cbf4a__mn715198__w664__h499__f45641__Ym202108.jpg" alt="bandicam 2021-08-15 21-06-59-098.jpg" style="width:664px;height:499px;" filesize="45641"></p> <p> </p> <p>노이즈 제거필터를 끄고 보면 이런 상태. 점점으로 보이는 것은 굉장히 적은 빛이 닿을 때 생기는 것인데, 프리즘의 반대면은 빛이 제대로 닿아야 할 것 같지만 사실 아니었음. </p> <p>이것은 컴퓨터가 패스트레이싱을 구현하는 방법을 생각해보면 자연스러운 것임.</p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/1629034410189c6017db474ced9d5c4fa8958d761b__mn715198__w680__h489__f30950__Ym202108.png" alt="Ray_trace_diagram.png" style="font-family:gulim, Dotum, Helvetica, AppleGothic, sans-serif;width:680px;height:489px;" filesize="30950"></p> <p> </p> <p>우리가 물체를 보는 것은 광원에서 나온 빛이 물체에 반사되어 눈에 들어가는 것이지만, 이것을 컴퓨터로 구현하면, 카메라로 들어갈지 안들어갈지도 모르는 빛을 죄다 계산해야 되므로 연산량이 어마무시하게 들어감.</p> <p>그래서 방향을 거꾸고 해서 '카메라'에서 나온 빛(??) 이 물체에 반사되어 '광원'에 닿는지 아닌지를 계산하는 것이 패스트레이싱임.</p> <p> </p> <p>프리즘 반대방향에서 물체에 닿으려면, 바닥면에 닿았다가 빛이 '광원 방향'으로 날라가야 됨.</p> <p>그런데 바닥면은 무슨 면인가 .<u>난반사</u>가 일어나는 표면임. 안 그러면 프리즘에서 나온 빛의 모양이 제대로 생기지 않기 때문에</p> <p>즉 </p> <p>카메라에서 나온 빛은 바닥면에 닿아서 미친듯이 온 방향으로 튀어대다가</p> <p>운이 좋아서 프리즘 방향으로 튀어들어간 빛이 광원에 닿으면 그것이 위의 화면처럼 점 하나로 찍히는 것임.</p> <p> </p> <p>이것을 해결하는 방법은 단순하면서도 끔찍한데</p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/16290344076a8efea423834e6a901b33e09191103a__mn715198__w664__h472__f25446__Ym202108.jpg" alt="bandicam 2021-08-15 21-08-14-304.jpg" style="width:664px;height:472px;" filesize="25446"></p> <p> </p> <p>샘플을 막 10000씩 올리면 됨. 쉽게 말해서 렌더링 시간을 수십배 올리면 컴퓨터가 열불내면서 계산해주긴 함.</p> <p>그러면 위처럼 대충 어떻게 굴절되는 것처럼 보이는 척은 해줌.</p> <p> </p> <p> </p> <p> </p> <p>하지만 그럼에도 불구하고 분광현상은 일어나지 않는데, 이 역시 위에서 설명했음.</p> <p>패스트레이싱은 <u>광원에서 빛을 쏘는게 아니고 카메라에서 눈을 쏘는 것</u>인데, 눈은 빛처럼 분산될 파장이 없음. 블렌더에서 분광현상은 기술적으로 불가능하단 소리.</p> <p> </p> <p>쉬운 방법이라면 빛을 쏴서 렌더링을 시도한 미친 엔진을 사용하는 것임. 놀랍게도 있음 .대단한 인간놈들..</p> <p> </p> <p> <br></p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/1629034425b50d42c59f4a43e394ca653cbafbb613__mn715198__w800__h450__f71610__Ym202108.jpg" alt="wallpaper_lux_05_rend1b.jpg" style="width:800px;height:450px;" filesize="71610"></p> <p> </p> <p>문제는 연산속도가 미친듯이 느리다는 것. (아래 그래프를 참고하면 다른 엔진에 비해서 3배는 느림.)</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/16290344081e2a7944a2f9468789c458c9b16f0889__mn715198__w702__h736__f42033__Ym202108.jpg" alt="bandicam 2021-08-15 22-30-37-823.jpg" style="width:702px;height:736px;" filesize="42033"></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>그러다가 최근 이런 영상을 발견했음.</p> <p> </p> <p> <iframe width="560" height="315" src="https://www.youtube.com/embed/lEPZ1IUkoB4" title="YouTube video player" frameborder="0"></iframe> </p> <p> </p> <p>이미 실패한 전력도 있고 기술적으로 불가능하다는 것을 알고 있었기 때문에 반신반의하면서 확인했는데</p> <p>미친 방법으로 이 문제를 해결하고 있어서 애게에 박제하려고 글을 씀.</p> <p>영상에서 어떻게 만드는지 보여주고 </p> <p>결정적으로 아예 파일을 배포하고 있기 때문에 그냥 갖다쓰면 되지만</p> <p>경험상 이런 물건은 원리를 대충이라도 이해하고 있지 않으면 쓰는데 애로사항이 꽃피기 때문에 따라서 만들어봤음.</p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/162903448111da0eaa7d2c4ea5be2bed6aaa969531__mn715198__w577__h909__f89110__Ym202108.jpg" alt="bandicam 2021-08-15 21-36-05-760.jpg" style="width:577px;height:909px;" filesize="89110"></p> <p> </p> <p> </p> <p>일단 할 일은 원시적인 유리 재질을 만드는 것. 굴절 쉐이더와 광택 쉐이더를 프레넬 값에 맞춰 섞어주면 됨.</p> <p>일단 이 상태에서는 블렌더 기본 쉐이더에서 transmission을 올린거랑 완전히 같음.</p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/1629034482b486fb9542a04d928f955571886ea18e__mn715198__w577__h909__f141098__Ym202108.jpg" alt="bandicam 2021-08-15 21-36-18-813.jpg" style="width:577px;height:909px;" filesize="141098"></p> <p> </p> <p>오늘의 주인공 : white noise.</p> <p>블렌더 2.8에서 추가된 노드인데 </p> <p>수치적으로는 계산할때마다 0과 1사이의 랜덤값을 내놓는 함수이고</p> <p>비주얼적으로는 픽셀 하나하나를 계산할때마다 0과 1 사이의 무채색을 내놓는 함수임.</p> <p>처음 소개될때도 대체 이걸 어디다 쓸지 몰랐었는데 정말 기가막힌 활용법임..</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/16290344831f90e40d3a5c42029bb0d91fb879d5b2__mn715198__w577__h909__f192591__Ym202108.jpg" alt="bandicam 2021-08-15 21-37-20-546.jpg" style="width:577px;height:909px;" filesize="192591"></p> <p> </p> <p>어떻게 쓰냐면 이 함수를 이용해서 0과 1사이의 값을 가시광선 스펙트럼에 대응시켜 굴절 쉐이더에 꽂아넣는 것.</p> <p>그러면 굴절 쉐이더는 계산할때마다 랜덤한 가시광선 원색을 연산하게 됨.</p> <p>이 상태에서 같은 입력값을 변화하는 IOR 값을 만드는데 사용하는 것임!</p> <p> <span style="font-family:gulim, Dotum, Helvetica, AppleGothic, sans-serif;">설명이 부실한데 결론적으로</span> </p> <p> <span style="font-family:gulim, Dotum, Helvetica, AppleGothic, sans-serif;">매 연산시마다 굴절 쉐이더는 매번 다른 색과 그 색에 맞는 ior값을 받으므로, 이론상 실제 빛의 분광현상과 아주 비슷한 효과를 얻을 수 있는 것임!</span> </p> <p> <span style="font-family:gulim, Dotum, Helvetica, AppleGothic, sans-serif;"> </span> </p> <p> <span style="font-family:gulim, Dotum, Helvetica, AppleGothic, sans-serif;"> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/162903448432bda16773fa42c29a34eb7fcbc444c6__mn715198__w563__h909__f80654__Ym202108.jpg" alt="bandicam 2021-08-15 21-50-32-360.jpg" style="width:563px;height:909px;" filesize="80654"></p> <p> </p> <p>일단 내부에서 일어나는 굴절은 보다시피 아주 선명하게 관찰됨.</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/1629034485703328acd3554641a7b6398224dca534__mn715198__w329__h628__f31980__Ym202108.jpg" alt="bandicam 2021-08-15 22-09-55-224.jpg" style="width:329px;height:628px;" filesize="31980"></p> <p> </p> <p>여기서 좀 해멨는데 caustics에서 filter glossy를 반드시 0으로 꺼야 됨. 이게 아마 일종의 denoise인거 같은데 정확도를 현저하게 떨어트림.</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/1629034493e9879ba6ce424f6d882fd83e6e986528__mn715198__w777__h479__f52611__Ym202108.jpg" alt="bandicam 2021-08-15 22-11-17-483.jpg" style="width:777px;height:479px;" filesize="52611"></p> <p> </p> <p>그러면 이와 같이 블렌더에서도 프리즘을 만들 수 있음.</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <img src="http://thimg.todayhumor.co.kr/upfile/202108/16290344942c17bbfbdae749a5add45ec1861dd856__mn715198__w674__h442__f72082__Ym202108.jpg" alt="bandicam 2021-08-15 22-24-12-812.jpg" style="width:674px;height:442px;" filesize="72082"></p> <p> <span style="font-family:gulim, Dotum, Helvetica, AppleGothic, sans-serif;"> </span> </p> <p> <font face="gulim, Dotum, Helvetica, AppleGothic, sans-serif">색수차 효과가 아주 그럴듯하게 만들어짐.</font> </p> <p> <br></p> <p>단점이라면 아까 말했든 미쳐돌아가는 샘플 수. 왼쪽 위에 써있듯이 샘플 수를 6000까지 올려도 여전히 firefly가 사라지지 않고 있음. 포토샵같은 사진 보정 프로그램의 도움을 받아야되지 않을까..</p> <p> </p> <p> </p> <p> </p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.