• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

결국 화려한 기교가 끝나야 기본이 보이는건가..

20.10.30 09:22 작성 조회수 254

4

(바쁘면 안읽어도 되는 글 강의 후기) 

질문칸에 안올렸다고 뭐라하진 마세요 그냥 강의 확인하다가 손이 따라가는대로 적었습니다.

+--------------------------------------------------------------------------------------------------------------------+

이 강의를 언제 구입한지는 기억이 안 나는데 그래픽을 조금 더 자세히 알고 싶어서 이 강의를 보던 도중 고속 컴퓨팅에 대해 공부해 보라는 (홍) (정) (모) 쌤의 권유 때문인지도 모르겠습니다.

처음에 강의를 볼 때는 저는 파이썬도 해봤고 자바 프로젝트도 해봤고 C언어를 공부했으나 프로젝트를 해보지 않았던 터였고Houdini 라는 프로그램에서 오브젝트 개체를 수많은 네트워크로 전송시키면서 유체가 되었다가 불꽃이 되었다가 랜더러가 요구하는 쉐이딩 파라미터도 넘겨줘 봤으니까C++만 할 줄 알면 방구석에 박혀있던 PBRT 라는 랜더링 책을 이해할 줄 알았습니다.

강의를 마치자마자 컴공 지식이 없던 저로서는 책에서 말하는  멀티스레딩 예제를 해봐도 실전도입은 굉장히 어려웠고인텔 TBB openMP 등의 내용이 빌드마저도 화가 치밀어 올랐습니다. 그래도  즐거움에 붙잡고는 있었지만, 각개 격파 또한 되지 않았던 과제였었습니다. 한동안 포기하고 있다가 조금 더 간접적으로 나를 이해시킬 수 있는 방법이 없던 터라 계획 없이 주저앉고 말았죠. 포인터 끊김이라고나 할까요

그러다 Houdini openCL 이라는 기능을 소프트웨어에서 지원한다길래 자세히 알기위해 찾던도중...

고속 컴퓨팅을 해보라는 권유가 홍정모쌤의 말씀이 생각났고 이것을 알기 위해선 병렬 프로그래밍을 공부해야 했는데 마땅히 비슷한 주제로 이 키워드를 따라가다 보니 CUDA 프로그래밍이 프로세스가 비슷해 보여서 예제와 유다시티에서 나오는 엔비디아 강의를 억지로 꾸역꾸역 삼켜서 깃허브 예제를 돌려도 보았습니다. 그러다 보니 openCL 에서 개념이 전문가 정도로는 아니지만 기본적인 예제코딩과 깃허브 자료를 그나마 돌려가면서 이해가 시작되었습니다. 비생산적인 코딩의 연속이였습니다. 

책 속에서 말하는 몬테카를로 기법도 그래픽에서 근거해서 이해하려면 배경이 없으면 이해하기 힘들어서 딥러닝 강의와 시스템프로그래밍  OS부터 난공불락의 문제를 아래와 위에서 공격하며 땜질해서  듣던도중 우연히 알게 되었고 근삿값에 도달하기 위해  교수님 강의도 보다 보니 유튜브가 알아서 학습하게 되었습니다. 저에게 맞는 수학적 지식을 보강하기 위해 변형되어갈 때쯤에 비로소 남이 만들어 놓은 설계를 그나마 읽어내기 시작했습니다.

Houdini_HDK / openGL / 불칸 / TBB / OpenMP / C++멀티쓰레드 / 유체엔진 예제 / GAN 시스템 프로그래밍 터미널 유체역학 강의 열역학 강의 기타 등등을 따로따로 하나씩 다 분해해서 따라 해보고 나니

그때서야 이 책을 (그나마) 읽어 나가고 있고 정신이 나태해지고 방향을 잃어가던 중 자포자기로 언리얼 자습을 빈둥빈둥 놀면서 보다가 C++ 강의를 오랜만에 다시 보게 되었습니다.

이 강의가 숲을 이야기 하려던 것을 조금 더 가깝게 느껴집니다. 계속 참고하면서 이 강의는 사용하려고요 제가 샀을 때는 6만 원대인데 지금은 만 원대라 쫌…. 불편하내요 쌤; 엣헴;;

그래픽에서 연기를 만들기 위해 수많은 VDB박셀에 가두었던 솜방망이 포인트 폴리곤 attribute 들이 결국엔 점으로 컨트롤이 가능하지만 데이터를 어떻게 소싱을 하느냐의 주제로 새로운 라이브러리로 들어오는 것을 느끼고 아무리 어려운 그래픽 알고리즘도 결국 수학적 모델링을 근거로 한 페이크이기 때문에 두렵지는 않습니다. 모르면 찾으면 되니까요 다만 아직도 대단한 그래픽을 하는 사람으로는 거듭나지 못했내요 죽을 때까지 무언가를 할 것은 생긴 거 같은 게 전부인 거 같습니다.

결론은: 강의 좋다구요 ㅇㅇ!

+--------------------------------------------------------------------------------------------------------------------+

느낀 점: 사람은 숟가락을 질문하고 알기 위해선

결국엔 지구에 살아보지 않은 인간이라는 존재라도 또는 그러지 아니한 존재라면

인간의 생활적 패턴을 가진 배경의 사람이 되어보아야

C++이란 숟가락은 그저 밥을 퍼먹는 도구일 뿐이야 라고 말해주면 알 수 있지만

그것을 모르는 인간의 시점이 아닌 다른 시점으로 무언가를 설명하기 위해선

먹는 행위와 인간이 어떻게 생존하는지에 따른 배경과 문화를 알아야 하는 것도 있고

왜 하필 팔로 먹어야 효율이 높고 왜 숟가락은 그렇게 생겼으며 그 비율이 황금비율인지를 설명을 해줘야

그 음식을 먹는다는 행위를 설명할 수가 있다고 생각합니다. 저는 그것을 하기 위해 쓸모없는 시간을 보낸 것도 같지만

가장 행복한 시간을 이 강의를 시작으로 보냈다고 생각합니다

답변 1

답변을 작성해보세요.

0

홍길동님의 프로필

홍길동

2021.01.04

저도 어서 빨리 남들한테 "C++? 그거 그냥 하나의 도구에 불과해 훗"이라고 말할 수 있는 날이 왔으면 좋겠어요!!!

동기부여가 되네요! 새해 복 많이 받으세요(엄지척)!!