하루 하루 No Fear 2018/07/17 10:40 by cagetu

매일 매일 어떤 일을 해야 하고, 어떤 결정을 해야 한다. 다른 사람의 눈을 의식하고 다른 사람들의 목소리를 의식한다. 내가 하고 싶은 것을 하기보다 다른 사람들이 보기에 좋은 것을 하려고 한다. 점점 무엇을 결정할 때 두렵움이 커진다. 내가 한 선택이 맞을까? 내가 잘 하고 있는 것인가? 아무래도 다른 사람의 눈과 말이 두려워서 그런 것이겠지...
(나이들면 두려움이 많아지는 것일지도...!?)

두려워하지 말자... 눈치보지 말고, 하고 싶은데로 하자!

난 잘 할 수 있다!!!


개발 노트 fall behind 2018/07/12 11:09 by cagetu

연차가 많아지면서 거기에 맞는 능력을 가져야 한다는 부담이 조금씩 더 커지는 듯 하다. 확실한 것은 지금까지 해왔던 것으로는 이제 더 먹고 살 수 없고, 앞으로 해야할 것에 맞는 능력을 가져야 한다는 것이다. 하지만 스스로 프로그래머로 새로운 공부를 하고 있지도 않고, 내가 만약 차세대 콘솔이나 PC 게임을 만들려고 한다면 거기에 맞는 기술력이나 경쟁력일 가지고 있냐? 라고 보면 자신이 있지도 않다. 시장과 기술은 계속 발전하지만 나는 그저 지금까지 해오던 것들을 우려먹고 있을 뿐이다. 

문득 위기의식을 느낀다. 그 동안 못 했던 그래픽스 공부나 엔진에 대한 공부를 꾸준히 다시 해야겠다는 생각이 다시 들었다. 물론 언리얼엔진을 보면서 배우는 것도 많이 있는데, 그것을 그냥 보고 기억하지 않으면 소용이 없을 듯 하다. 보고 느낀 점을 정리하고 만들어보면서 개인적으로 부족했던 것을 채워야 할 듯 하다.

또한, 관리업무를 하게 될 나이가 되면서 슬슬 이 쪽 테크로도 준비를 해야 할 것 같다.

"팀장이 되는 건 지금까지 해왔던 것을 더 잘하는 것이 아니라, 새로운 역할을 잘 수행할 것 같아서 맡기는 것"이라는 말을 들었다. 그냥 역할이 달라지는 것이고, 새로운 역할에 대해서 모르는 것들을 배워야 한다. 그렇게 되면 아마 프로그래밍 자체에 대해서는 깊게 보다 좀 더 넓게 봐야할 수 있지 않을까?

(몸도 마음도 지쳐지기 쉬운데, 그것도 잘 관리해야 할 듯!!!)

잘 살자!!  

개발 노트 포물선 2 2018/06/17 20:55 by cagetu

포물선(parabola) 공식으로 만들었는데, 이번에 다시 해보면서 새롭게 정리를 좀 해보자...

Q) 도착 거리(Distance)와 날아가는 시간(Duration)이 결정되어 있다면 포물선을 어떻게 구할 수 있을까??
위의 공식에 적용하기 위해서는 v0 (초기속도)와 g(중력가속도)를 구해야 한다. (각도는 임의로 정한다.)

1. 초기속도
: x = (v0 cos@)t 에서 "t=Tmax일 경우, x=최대거리" 이기 때문에, 다음과 같이 초기 속도를 구할 수 있다.

  v0 = (Distance / (Duration * cos@)

2. 중력 가속도 구하기
: y축 이동을 공식을 봤을 때, 최대 이동 시간(Tmax)가 되었을 때 높이는 0이 되고, 위의 v0를 적용해서 g 값을 구할 수 있다.
 
   g = (2 * v0 * sin@) / Duration

위에 구한 내용을 사용하여 포물선 공식을 구할 수 만들 수 있다.

(단순한 산수입니다. 그냥 정리 차원에서...)

관련해서 재미있는 자료를 찾았는데, GDC16 "Building a Better Jump" (문서 링크)를 포물선 공식를 점프와 연결해서 쉽게 설명을 잘 해준다. ^^




개발 노트 glProgramBinary / glGetProgramBinary 2018/06/04 10:57 by cagetu

언리얼 관련해서 이야기를 나누다가 언리얼에 Shader Cache라는 기능이 있다고 해서, 언리얼 문서 중에 "꼭 알아두어야 할 언리얼 엔진 4 모바일 기능 A-Z"를 참고하면 된다고 해서 찾아보게 되었다.

내부적으로 셰이더 캐쉬를 사용하면 Compiling / Linking을 피할 수 있다고?? 이게 뭐지??

그래서 내부적으로 확인해봤더니, glGetProgramBinary / glProgramBinary 라는 함수에 비밀이 있었다. 예전에 자체엔진으로 작업해봤을 때에는 이 기능을 사용할 수 없어서 테스트해볼 기회가 없어서 모바일은 바이너리로 컴파일된 셰이더를 가지고 있을 수 없는 것으로 기억하고 있었다. 하지만, 이제는 glCompile -> glLinkProgram까지 한 결과를 glGetProgramBinary로 뽑아서 저장하고 이후부터 glProgramBinary로 가져와서 사용하는 것이 가능한 것이다.

물론, 처음 컴파일은 발생하는데 언리얼 문서에서는 이것도 기기에서 한번 뽑아서 패키지해서 넣어두는 식으로 우회하는 방법도 소개를 했다. 사실 이렇게 되면 기기 드라이버마다 결과가 같다고 보장할 수 있나? 라는 의문이 생기기는 한다. 할 수만 있으면 오프라인에서 컴파일해서 가지고 가면 좋겠지만 그건 어려울 것 같다...

몰랐던 것 하나 알고 간다. 신난다. ㅎㅎㅎ. (벌칸이나 메탈로 다 넘어가면 의미없게지~ 하~)

개발 노트 시각 요소들의 위계 2018/05/25 18:44 by cagetu


1 2 3 4 5 6 7 8 9 10 다음



메모장

내가 먼 훗날에 이 글들을 보았을 때, 좋은 추억이 될 수 있기를...

나를 위해... 나에게 쓰는...

msn: cagetu@hotmail.com
mail: cagetu79@gmail.com
twitter: twitter.com/cagetu
facebook: facebook.com/cagetu