Tuesday, September 18, 2012

xcode에서 전처리기로 프로그래머 골탕 먹이기

xcode에서 preprocessor를 설정할 때 다음과 같이

DE_IPHONE\n-

과 같이 작성하면 (DE_IPHONE은 다른것이 되어도 무방함) 컴파일할 때 쌩뚱 맞은 버그를 발견하게 된다. 게다가 xcode 툴만 사용하면 겉으로 보이기에는 아무런 문제가 없어 보이는데 그 이유는 preprocessor를 보여줄 때 \n 때문에 그 뒷 부분(다른 선언 부분)이 화면에 전혀 보이지 않기 때문이다.

올바른 전처리는 DE_IPHONE으로 설정해야만 하며 그렇게 해야 그 다음에 선언된 것이 제대로 처리 된다.

OpenGL ES2로 갈아타야 하나...

DeadEngine의 경우 OpenGL ES1을 사용하고 있었는데 다른 라이브러리와 연동하는걸 하려고 하니까 ES2 없이는 돌릴 수가 없다. 결국 내 엔진을 ES2로 바꾸어야 하는데 지금 거의 마무리 하고 있던 프로젝트를 바꿀 순 없을거 같다. 일단 스케쥴대로 현재 만들고 있는 것은 ES1으로 돌리고 이후에 엔진을 업그레이드 해야겠다.

ES1에서 ES2로 옮길 때 작업 상황을 블로그에 남겨보아야 겠다.

Monday, September 17, 2012

스타크래프트 인공지능

http://code.google.com/p/bwapi/wiki/UsingBWAPI

이 API를 이용해서 Custom AI를 만들어 볼 수 있다.
예전에 Paul이 알려줬던 내용인데 이제서야 보게됐다...
내가 생각했던 AI기술들을 이용해서 AI를 개발하는것도 재밌을 것 같다.


Monday, September 10, 2012

OpenGL es 16 bits 스크린 캡쳐하기 (iOS)


short* buffer = (short*)malloc(myDataLength);
glReadPixels(startx, starty, width, height, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, buffer);
    
int* buffer2 = (int*)malloc(width * height * 4);
    
int table5[] = { 0, 8, 16, 25, 33, 41, 49,  58, 66, 74, 82, 90, 99, 107, 115, 123, 132, 140, 148, 156, 165, 173, 181, 189,  197, 206, 214, 222, 230, 239, 247, 255 };

int table6[] = { 0, 4, 8, 12, 16, 20, 24,  28, 32, 36, 40, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101,  105, 109, 113, 117, 121, 125, 130, 134, 138, 142, 146, 150, 154, 158, 162, 166,  170, 174, 178, 182, 186, 190, 194, 198, 202, 206, 210, 215, 219, 223, 227, 231,  235, 239, 243, 247, 251, 255 };
    
for ( int y = 0; y < height; ++y )
{
    for ( int x = 0; x < width; ++x )
    {
        int b8 = table5[buffer[y * width + x] & 0x001F];
        int g8 = table6[(buffer[y * width + x] & 0x07E0) >> 5];
        int r8 = table5[(buffer[y * width + x] & 0xF800) >> 11];
            
        buffer2[((height-1) - y) * width + x] = b8 << 16 | g8 << 8 | r8;
    }
}

buffer에는 RGB형태로 들어오고 buffer2에 넣어줄 때는 BGR형태로 넣어 주어야 한다. Alpha는 그냥 0으로 셋팅하게 되어 있다.

Wednesday, September 5, 2012

오... 슈퍼스타K에 연규성씨 나오는군요!

좋아하던 사람이었는데 성대에 문제가 있었군요;;
아무튼 저도 음악을 사랑하는 30대로써 응원합니다. :)
화이팅!~

Task in UnrealEngine

 https://www.youtube.com/watch?v=1lBadANnJaw