programing150 코드 최적화 출처 : http://yowon009.tistory.com/22 0. Debug 버전 보다 Release 버전을 생각하는 것이 더 중요 1. 선언 배치1) 할당 보다 초기화2) 선언 재배치- 쓸 떼 없이 객체서 생성 및 소멸 되지 않도록 배치3) 멤버 초기화 리스트4) Prefix, Postfix 연산자- --과 ++는 뒤에 붙이는 것(postfix)보다 앞에 붙여서 사용(prefix)하는 것이 좋음 2. 인라인 함수1) 함수 호출 오버헤드는 구현에 따라 다름- 스택 위치를 저장하고 스택으로 함수의 인수를 넣고 초기화하고 함수 정의를 포함하는 메모리 주소 점프함 => 그 이후 함수가 실행- 함수 리턴시 역순- 함수 호출 이전과 이후에 수행하는 추가 동작으로 함수 호출 오버헤드가 두드러지는 언어도 존재- .. 2016. 9. 20. 3Dグラフィックス・マニアックス 3Dグラフィックス・マニアックス by 西川善司 2016. 9. 19. 조이패드(Joypad) Input #include #pragma comment(lib, "winmm.lib"); JOYINFOEX joyinfo;memset(&joyinfo, 0, sizeof(JOYINFOEX));UINT nValid = 0; joyinfo.dwSize = sizeof(JOYINFOEX);joyinfo.dwFlags = JOY_RETURNBUTTONS | JOY_RETURNX | JOY_RETURNY; // 조이스틱이 연결 됐는지 확인if(joyGetPosEX(JOYSTICKID1, &joyinfo) != JOYERR_UNPLUGGED)nValid = JOYSTICKID1;else if(joyGetPosEX(JOYSTICKID1, &joyinfo) != JOYERR_UNPLUGGED)nValid = JOYSTICKID2.. 2016. 9. 9. Z 버퍼 & AlphaTesting & AlphaBlending 깊아 값을 이미지로 만들어 놓아서 저장 한 것 Z Read(Z값을 읽는다) : Z값에 기록된 상태를 읽어서 자신이 그려지는지 확인 └ = Z Test(Z값을 테스트 한다) Z Write(Z값을 쓴다) : 자신이 기존의 Z값보다 앞에 있다면 자신의 Z값을 덮어씌워 기록 AlphaTesting └ 뒤에 있어도 보여져야 함. ( ex.유리창 뒤에 있는 공은 유리창에 반쯤 영향 받은 채 보임 ) └ 깊이테스트(뒤에 있으면 그리지 않음)를 무시해야 함. └ 알파 채널 단계 중 일정 부분을 정해서 투명도를 0또느 1로 정해버림(반투명이 없음) └ 해당 픽셀이 보이는가 안보이는가만 임의대로 결정 └ 퀄리티가 다소 떨어짐 └ 정렬은 생각하지 않아도 됨 └ 주로 나뭇잎, 풀 등의 표현에 사용 (양이 많고 크기가 작기 때.. 2016. 8. 25. 이전 1 ··· 17 18 19 20 21 22 23 ··· 38 다음