xcode에서 preprocessor를 설정할 때 다음과 같이
DE_IPHONE\n-
과 같이 작성하면 (DE_IPHONE은 다른것이 되어도 무방함) 컴파일할 때 쌩뚱 맞은 버그를 발견하게 된다. 게다가 xcode 툴만 사용하면 겉으로 보이기에는 아무런 문제가 없어 보이는데 그 이유는 preprocessor를 보여줄 때 \n 때문에 그 뒷 부분(다른 선언 부분)이 화면에 전혀 보이지 않기 때문이다.
올바른 전처리는 DE_IPHONE으로 설정해야만 하며 그렇게 해야 그 다음에 선언된 것이 제대로 처리 된다.
Tuesday, September 18, 2012
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를 개발하는것도 재밌을 것 같다.
이 API를 이용해서 Custom AI를 만들어 볼 수 있다.
예전에 Paul이 알려줬던 내용인데 이제서야 보게됐다...
내가 생각했던 AI기술들을 이용해서 AI를 개발하는것도 재밌을 것 같다.
Tuesday, September 11, 2012
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으로 셋팅하게 되어 있다.
Thursday, September 6, 2012
Wednesday, September 5, 2012
Subscribe to:
Posts (Atom)
Task in UnrealEngine
https://www.youtube.com/watch?v=1lBadANnJaw
-
Unity released very good FPS example for people and I decided to analysis how they make this. Personally I wanted to show you how I analys...
-
Because nature of rotation angle, when we interpolate angles we could have some problems. For instance we have angle A0 and A1. A0 is -...
-
In ue4, animation node uses InternalTimeAccumulator. For the root motion movements, we use CreateTickRecordForNode function and this functi...