Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 string s; s+= "셰이더코드"; LPD3DXBUFFER shader = NULL; LPD3DXBUFFER errorBuffer = NULL; HRESULT hr = D3DXCompileShader( s, s.size(), 0, 0, "vsBuild", "vs_2_0", D3DXSHADER_DEBUG|D3DXSHADER_SKIPOTIMIZATION, &shader, &errorBuffer, NULL ); if( errorBuffer ) { MessageBox( 0,..
Visual Studio는 Compile시 multi-processor compilation을 지원한다. processor는 각각 파일 하나씩을 담당하여 compile을 진행한다. 따라서 core가 많을수록 compile속도는 증가한다. multi-processor compilation 옵션을 켰을 때 compile속도가 50초에서 6초로 줄어 들었다. Project 의Property Pages에서 Configuration Properties -> C/C++ ->General 맨 밑의 Multi-processor Compilation을 YES로 변경 만약 Minimal Rebuild가 켜져 있을 경우 /MP가 무시되므로 아래와 같이 변경해준다. Configuration Properties -> C/C++..
출처 : http://moople.tistory.com/100 메모리 풀 공간을 미리 할당하고 , 동적할당 요청시 할당된 공간에서 사이즈만큼 준다. 즉, 메모리 관리 매니저로 볼 수 있다. new와 delete할 경우 내부적으로 콜백 함수가 호출되는데, 이는 부하를 발생 시킨다.그래서, 미리 공간을 할당 받아서 콜백 함수를 한 번만 호출시켜 부하를 막아서 퍼포먼스를 높인다. D3DPOOL 열거형으로 D3D 리소스 자원들을 여러 종류의 메모리 풀에 저장한다. 정점들을 보관하기 위한 용도로 메모리 풀을 사용한다. 리소스의 타입과 이용방식에 적합한 리소스들을 메모리에 보관하도록 D3D에게 요청한다. 비디모 메모리, AGP메모리, 시스템 메모리 등 특징 GPU는 비디모메모리에서 바로 사용이 가능하다. 시스템 메..
펌 : http://blog.naver.com/seeper0/120035377157 카메라를 흔들려면 카메라를 흔드는 폭을 알아야 한다. 그런데 이 폭을 생각처럼 이쁘게 얻기 힘들다. 그래서 이쁜 공식에 대한 화두를 던저볼까 한다. 1. y = sin(x) 먼저 생각해 볼 수 있고 만만한 공식은 바로 sin 이다. sin 특성상 파형을 나타낸다. 오르락 내리락 하는것이 단순하면서도 직선적이지 않아 카메라 흔들때 딱이라는 느낌이 온다. 하지만.. 너무 단조롭지 않은가? 점점 감쇄할수 있다면 좋을것 같다. 2. y = powf(0.5f, x) : 흔히 말하는 y=(1/2)^x 그래프 이다. 감쇄하는 모양이 아주 이쁘다. 특히나 5 정도를 지나면 0이 아니라 0에 수렴하는 곡선이다. 이 그래프의 감쇄 정도를 ..
좀 오래 됐지만 우선 정리.. 예전에 요청중에 타이틀 바 드래그시 멈춤 현상? 이라고 해야 하나. 어쨋든 요새 게임은 드래그 해도 계속 렌더링되는 게임들이 있다보니. 회사분이 왜 우리는 안되냐고 해달라고 막 쪼르길래 ㅠ. 뒤지고 뒤져보니 보통 세가지 방법이 있다. 1. 윈도우 타이틀바 없애고 유아이로 대체하고 닫기버튼,최소화버튼 등을 따로 처리 2. 메세지 처리 부분만 스레드로 별도 처리 3. 어찌 어찌 메세지막고 해서 MoveWindow함수로 하기.. 1번째는 애초에 이건 아니다 싶어서 포기. 2번째 방법을 쓰니 문제들이 많았었는데. 우선 윈도우를 생성한 스레드와 PeekMessage의 스레드가 다를 경우 메세지가 제대로 나오지가 않아서 문제가 있었다. 시간이 꽤 지나서 기억이 가물가물한데;; 그래서 ..