Uber Shader

기본 개념은 한 개의 쉐이더 소스를 짜고 ifdef/ifndef 질을 해서 쉐이더 코드를 여러 형태로 변화시키는 것이다. 이것이 의미가 있는 이유는 여러 종류의 광원모델을 기반으로 쉐이더를

auto_ptr을 썻는데 소멸자가 불리지 않는다?

auto_ptr은 아주 간단한 스마트 포인터의 일정으로 동적할당된 객체를 자동으로 delete하는데 쓰인다. 하지만 잘못된 코딩을 하면 소멸자가 호출되지 않

Box2d Block Allocator

작은크기의 객체를 많이 할당할때 사용되는 할당자이다. 기본설정값의 경우, 대략 640byte보다 작은 메모리를 많이 요청할때 사용한다 기본 구조 Chunk, Block

Box2d Stack Allocator

구조 고정크기로 b2_stackSize(기본값 100kb)의 메모리를 가지고 이것을 맨앞부터 쪼개서(그래서 스택기반) 사용하는 할당자이다. 구조가 단

C#의 프로퍼티 C++에서 쓰기

본문을 읽기전에 아래의 2개의 페이지를 읽어보면 이해에 도움이 될것이다. 사실상 내가 만든 코드는 위의 2개를 내 방식대로 묶은것뿐이다 [Property(programming)][1] [C++에서 속성 구현하

cocos2d-x 메모리 관리에 대한 간단한 정리

cocos2d-x는 cocos2d를 거의 그대로 포팅한 2d게임 엔진이다. 원작이 objc 기반인 cocos2d를 C++로 옮겼으니 완전히 똑같지는 않다. 특히

memset로 클래스 초기화 쉽게 하기

일반적으로 C++에서는 멤버변수 초기화를 다음과 같은 문법으로 한다. class SomeClass { public: SomeClass() : a(0), b(0) {} private: int a; float b; }; 만약 클래스안에 멤버변수가 많다면 위와 같은 문법으로 코

게임 좌표계에 대한 고찰

좌표계에 대한 고찰 3D 그래픽스 좌표계에는 크게 2가지(왼손 좌표계/오른손 좌표계)가 있다. 왼손/오른손 좌표계 모두 왼쪽..오른쪽 방향을 +x, 아래..위쪽 방

윈도우 환경에서 emacs HOME 디렉토리 변경하기
윈도우 환경에서 emacs HOME 디렉토리 변경하기

유닉스 환경의 경우 이맥스 설정파일은 /home/user_name/.emacs에 위치한다. 그런데 윈도우라면 저런 경로가 존재할리가 없잖아? 윈도우의

이맥스 내장 한글입력기 사용하기 + 기본한글설정

이맥스는 특유의 괴랄한 규모덕분에 다른 에디터에서는 거의 찾아볼수 없는 기능인 한글입력기가 내장되어있다. (그러니까 한영키를 눌러서 한글/영문 입력상태를 바