2012년에 찍은 다이렉트 9.0c 인강을 거의 다 들어간다.
학교에서 다이렉트 11을 어느정도 배우고 현재 유니티를 다루면서 부가적으로 공부한게 있어서인지 다이렉트의 함수들을 외우는게 다소 힘들 뿐이지 이론은 거의 대부분 알고 있는 것들이었다.
정점, 면, 컬링, 라이트, 텍스쳐, 메쉬 등등...
유니티는 이미 완성된 엔진이기에 사용자의 편의성을 높여두어 어떻게 다루든 상당히 직관적이고 간편한데 다이렉트는 그 기반에 가까워서 세우는 단계부터 해야한다.
자동차에 빗대면 오토와 수동의 차이쯤 되지 않을까
다이렉트로 엔진을 직접 만든다고도 하는데 이쯤 오니 대충 감이 잡힌다.
다이렉트가 지원하는 함수에도 유니티처럼 회전, 이동, 크기 조절 등 기본기는 전부 갖춰져 있고 텍스쳐, 머티리얼 등 있을건 다 있다. 그걸 다 코드로 해야한다는게 문제지만 유니티도 유저가 숫자 기입하는 부분만 따로 빼둔거지 내부는 비슷할 것이라 생각한다.
즉 엔진을 만든다는 것은 게임을 만드는 것에 준하는 설계와 노력이 필요하다는 말
그리고 어지간한 실력으로 엔진부터 제작할 바에는 이미 상용화된 엔진을 쓰는게 훨씬 낫다는 소리기도 하다.
다이렉트9와 11의 가장 큰 차이점은 GPU의 사용 여부가 아닐까 한다.
아직 덜 배워서 모르는 것일수도 있는데 다이렉트9를 배우면서 GPU를 다룬적이 없다.
다이렉트11 배울 때는 GPU도 썼는데!
물론 GPU를 쓰면 개발자 입장에선 훨씬 힘들다.
추가로 작업을 해줘야 하고 듣기로는 float만 인식한다나 뭐라나 아무튼 CPU에 비해 단순한 작업밖에 시킬 수 없다고 한다.
하지만 속도는 CPU보다 월등히 빠르다. 못해도 CPU에 비해 100배 이상으로 빠르다고 들었는데 이정도 속도인데 단순하면 어떤가
어차피 개발하다보면 사람 입장에서는 모르겠지만 컴퓨터 입장에서는 단순한 작업의 무수한 반복만이 있을 뿐이다.
하지만 우리는 사람이니 그 사람 입장도 중요하니 문제
어쨌든 컴퓨터와 개발자 둘 다 혹사 시키는 다이렉트11은 결과물이 9에 비해 월등히 뛰어날 수밖에 없긴 하다.
글을 쓰다보니 무슨 말을 하고 싶은건지 모르게 되어버렸지만 하고 싶은 말은 이거다. 괜히 잡담 탭에 넣은게 아니다.
GPU도 GPU지만 다이렉트9에선 쉐이더도 별도의 언급이 없다! 라이트 할 때 말이 나오긴 하는데 11 할 때는 아예 쉐이더 코딩도 하면서 같이 했던 부분이 9에선 없었다.
그저 강의의 차이일 수도 있는데 따로 배우고 있는 사람이 말해주기론
다이렉트9는 다이렉트와 쉐이더를 따로 배워서 적용한다는 느낌이고 다이렉트11은 다 같이 가는 느낌이라고 한다. 거기에 GPU도 있으니 다이렉트9와 11의 난이도 차이는 어마어마 하다고 하는데...
근데 나는 유니티를 애용하는 개발자이므로 유니티 쉐이더도 배워야 한다. 그리고 유니티 쉐이더는 다이렉트에서 쓰는 쉐이더와는 또 다르다!
배워야 할게 너무 많다.
마음같아서는 지금 막 여기저기 이력서를 찔러 넣고 싶은데 실력 이전에 기본들은 알고 가야할거 같아서 매일 게임잡을 둘러보고 고민하다가 결국 찌르지도 못한다.
신입 주제에 김칫국만 들이키고 헛짓거리 한다고 볼 수 있을지도 모르지만 만에 하나 어느 회사에 들어가더라도 일하기 위해 간거지 배우는 것을 1순위로 삼는 마인드를 지니고 갈 수는 없는 노릇이다.
그리고 팀프로젝트때 초반에 잘못 쌓아둔 기본이 나중에 어떻게 돌아오는지 너무 많이 느꼈기에 될대로 되라 식의 이력서 찌르기는 차마 못하겠다.
못해도 다이렉트와 쉐이더까지는 다룰 수 있을 정도로까진 공부하겠다고 학교 다니면서도 생각했으니 이렇게 아직 여유가 있을 때 더 열심히 해야겠다. 덤으로 일본어도
'비공개 > 잡담' 카테고리의 다른 글
오 이런 (0) | 2018.01.17 |
---|---|
VR의 장단점 주관 (2) | 2018.01.14 |
3D 쪽이 더 급한거같군요 (0) | 2018.01.10 |
무슨 글을 쓰지 (0) | 2018.01.03 |
새해가 되었습니다. (0) | 2018.01.01 |