2013년 7월 31일 수요일

유니티 prefab에서도 enum은 int일뿐

사실 C++ 에서 enum을 많이 쓰는 이유는 enum자체가 int값이랑 별 다르지 않기 때문입니다. 예를 들어

enum eAnimal
{
    ANIMAL_DOG,
    ANIMAL_CAT
};

이 있으면 ANIMAL_DOG은 0, ANIMAL_CAT은 1에 불과할 뿐이죠.

int dogIndex = ANIMAL_DOG;

이런게 아무 문제 없이 되었으니까요. 이제는 C#부터 비롯한 다양한 언어에서(아마 C++ 차세세대 규격도 그랬던듯) enum을 strong type으로 다뤄서 저런게 쉽게 안되게 하긴 하는데 그래도..

int dogIndex = (int)ANIMAL_DOG;

하면 여전히 dogIndex는 0이 됩니다.

근데 C#에서 재밌는게 enum으로 부터 스트링 값을 뽑아올수가 있지요. 즉 ANIMAL_DOG을 실행중에 "ANIMAL_DOG"이라 문자열로 가져올수도 있는겁니다. 그래서 유니티를 만지면서 함 실험을 해봤습니다. 유니티에서 prefab을 만들면 그 값을 기억하는데 이때 enum 형을 기억하면 과연 문자열을 기억하는지 아니면 int로 기억하는지 궁금했어요.

사실 은근 string으로 저장되길 바랬습니다... string으로 저장하면 이런게 되거든요..
만약 prefab에 ANIMAL_CAT을 저장해눴는데.. 그 후에 eAnimal에 새로운 놈을 추가하면..

enum eAnimal
{
    ANIMAL_DOG,
    ANIMAL_MOO,
    ANIMAL_CAT
};

나중에 그 prefab을 읽어와도 숫자 1이 아닌 "ANIMAL_CAT"으로 읽히기에 중간에 다른 놈을 삽입해도 아무 문제가 없다는거죠...

근데 실험해보니... ANIMAL_MOO가 읽히더군요 -_-;

뭐 그래서 유니티에서 prefab저장할때 enum은 int 저장되는겁니다... 뭐 이거의 장점도 있어요.... 이름 바꾸긴 편하죠.. ANIMAL_CAT을 ANIMAL_MEOW로 바꿔도 아무 문제가 없거든요.

그럼 이상 후다닥 -_-

2013년 7월 29일 월요일

[유튜브] 스터디 절대로 하지마라


전 '공부한다'라는 표현을 별로 안좋아합니다. 꼭 뭔가 책보며 배운다라는 느낌이 들어서요. 차라리 부딪히면서 몸소 겪으며 배우는게 진짜라고 생각합니다. 실제로 오래 남기도 하죠.

근데 그러지 않고 그냥 머리로만 공부하는 사람들을 보면 실전에 부딪히기 무서워서 피하는 경우도 많더라구요. 어차피 똑같은 시간 퍼붓는거 스터디보다는 몸소 부딪혀 보시라는 말을 하고자 비디오를 만들었습니다.

p.s. 제목 낚시에 낚이셨다면 죄송합니다 -_-;

2013년 7월 25일 목요일

[유튜브] 꽃미남 서강대 교수님



정정: 서강대학교 게임교육원은 정식 서강대가 아니라 서강대 교수라고 하면 학벌을 따지시는 분들에게 돌맞는다는 제보를 받았습니다. 정확히 말하면 제가 초빙교수가 된 곳은 서강대 게임교육원입니다. 제보주신 끼로님께 감사드립니다.

----------------------------------------------------------------

냐하하하하하하하하 -_-;



2013년 7월 24일 수요일

셰이더 프로그래밍 입문 GLSL 소스코드(비공식)

제가 출판했던 셰이더 입문 책의 샘플이 HLSL로 되어있는데 GLSL로 바꾸서 본인 블로그에 공개해주신 분이 계시더군요. 혹시라도 GL쪽을 더 많이 하시는 분들을 위해 여기에 링크를 걸어둡니다. 제목에 써놨듯이 비공식이며... 혹시라도 소스코드에 문제가 있더라도 전 모르는 일입니다.. 후후후 -_-

자 그럼 링크입니다.. 꺄아~


http://libsora.so/glsl_example/

2013년 7월 22일 월요일

[유튜브] 노동법위반 게임회사



전 사실 자유경제의 옹호자이기에 기업들이 경제적으로 공헌하는 것을 매우 높게 평가합니다. (일자리 창출 등등) 그런데 노동법을 어겨 가면서까지 자잘한 이윤을 챙기려는 회사는 정말 안좋아합니다. 기업이 자연환경보호 같은 대의를 위해 노력하는건 바라지도 않습니다. 하지만 자기 회사 사원의 권리는 반드시 지켜줘야 한다고 생각합니다. 주변의 자잘한 것부터 지킬 수 있어야 큰 것도 지킬수 있는 것이니까요..

지금 우리가 70~80년대도 아니고... 아직까지도 이딴 마인드로 운영하는 회사가 게임업계에 있다는게 참 쪽팔려서 한마디 할려고 비디오를 만들어봤습니다.

제발 이따위로 회사 운영하지 맙시다.

- 포프 -


2013년 7월 18일 목요일

[유튜브] 내가 쓰는 C++11: nullptr




비디오 만들고나서 구글을 쳐보니 함수인자로 받을때 NULL은 포인터가 아닌 int로 되서 잘못된 함수가 호출될 수도 있다는군요. (개인적으론 겪어보진 못한일 -_-a)

C++11 비디오 시리즈 모두보기

2013년 7월 15일 월요일

[유튜브] 원화가 북미취업 케이스



최근에 우여곡절 끝에 2번이나(?!) 캐나다 밴쿠버 취업에 성공하신 분이 있어서 짧게 소개드립니다.

(사실 이 비디오를 통해 이분을 포프TV에 끌고 나오려는게 속셈... 쿠쿡 -_-)

자 이분의 포프 TV출현을 원하시는 분들은 유튜브 비디오 답글란에 답글을 달아주세요!


2013년 7월 11일 목요일

[유튜브] 녹내장, 오디오북, 불법복제 그리고 전자책



눈알 문제부터 시작해서 이것저것 거쳐서 전자책 활성화를 바란다는 말까지.. 주절주절~ 꺄아 -_-

제가 비디오에서 녹내장이 왜 생기는지 제대로 설명을 못드렸는데.. 그뒤에 찾아보니 이렇다는군요.. 아래 링크를 참고해주세요~ ^_^/

http://blog.naver.com/PostView.nhn?blogId=lasik9779&logNo=40108380220&categoryNo=24&viewDate=&currentPage=1&listtype=0&from=postList

2013년 7월 9일 화요일

인생은 결국 놀이의 문제다.

인생은 결국 놀이의 문제다. 젊어서 노느냐 아니면 늙어서 놀 수 있느냐...

- 김포프 (2013년 7월 5일)


2013년 7월 8일 월요일

[유튜브] 탑프로그래머라면 하드웨어 쯤은...





예전에 면접보면서 있던일을 바탕으로 하드웨어 이해가 중요하단걸 말하는 척.. 은근 그 회사 까는 멋진 ... vlog... -_-

p.s.1 근데 왜 오디오에 이상한 잡음이 낄까요... 유튜브 미워 -_-
p.s.2 열심히 운동하고 녹화한거라 역시 피곤한게 보이네요... -_-; 하지만 그럴때에 더 빛을 발하는 Sexy Beast 아흥~

2013년 7월 4일 목요일

[유튜브] 내가 못쓰는 C++11: constexpr




제가 쓰고싶지만 못쓰고 있는 C++11의 constexpr에 대한 짧은 비디오. 비디오 중간에 언급한 컴파일시 스트링 해쉬에 대한 글은 다음 링크에 있습니다.

http://kblog.popekim.com/2012/01/blog-post_16.html

C++11 비디오 시리즈 모두보기

2013년 7월 1일 월요일

[유튜브] 마이크로소프트 MVP




마이크로소프트 사에서 절 MVP로 뽑아줬습니다. MVP에도 여러분야가 있는데 Visual C++ 분야입니다. 뭔가 기분 좋은 일이고... 앞으로도 계속 열심히 지식 공유에 신경쓸 계획입니다.. (이미 유튜브 비디오로도 그러고 있다고 믿고 싶어요.. -_-a)

마이크로소프트 MVP마크도 어딘가 달아야하는데... 귀.. 귀찮... -_-