목록분류 전체보기 (106)
승쨩개발공부
개발기간 1달 4인 팀 PortFolio C++,DX9
랜더링 기본 단위 3D 랜더링에는 기본 단위가 있는데, 정식 명칭은 Primitive Type 이다. Primitive Type 에는 (Point List), (Line List), (Line Strip), (Triangle List), (Triangle Strip), (Triangle Fan) 이렇게 6가지가 있다. Point List Point List는 정점들만 찍는 랜더링이다. 정점은 3D 공간 좌표이지만 지금은 Z값이 일정해서 깊이 차이는 없다. Line List Line List는 정점 2개 단위로 이어서 랜더링 하는 것이다. 시작점과 끝점이 존재하므로 선분을 만들게 된다. API LineTo 함수와 유사. 정점 2개가 짝을 이룬다는개 핵심. Line Strip Line Strip은 정점을 계..
프레임 버퍼 그래픽 카드 VRAM에는 Frame Buffer라는 영역이 존재한다. Frame Buffer는 전면 버퍼(Front Buffer) 후면 버퍼(Back Buffer)가 존재한다. 그래픽 카드가 없다면 DirectX가 내부적으로 생성해서 사용한다. 전면 버퍼와 후면 버퍼가 서로 계속 교환되며 화면의 출력된다 후면 버퍼는 색상 버퍼, 깊이 버퍼, 스텐실 버퍼로 분류되는데 일반적으로 깊이 스텐실 버퍼는 하나로 묶어서 사용한다. 깊이 버퍼에 24비트, 스텐실 버퍼에 8비트를 주고 합해서 32비트를 사용한다. 물론 깊이 버퍼만 사용하는 것도 가능하다. 수직 동기화 수직 동기화가 뭐냐면 그래픽 카드의 렌더링 갱신 속도를 모니터의 출력 갱신 속도에 맞춘다는 의미이다. 더블 버퍼링이 모니터의 깜빡임을 방지하..
프로그램의 실행과정 실행파일의 생성 과정 전처리기 -> 컴파일러 -> 어셈블러 -> 링커 1. 전처리기의 치환 작업 전처리기는 '#include' , '#define' 과 같이 '#'으로 시작하는 지시자의 지시에 따라서 소스코드를 적절히 변경하는 작업을 한다. 2. 컴파일러에 의한 번역 전처리기에 의해 변경된 소스코드는 여전히 C언어로 구성되어 있다. 이 소스코드는 컴파일러에 의해서 어셈블리 코드로 번역된다. 3. 어셈블러에 의한 바이너리 코드 생성 바이너리 코드는 1과 0으로만 구성되는 코드이다. 컴파일러에 의해 번역된 어셈블리 코드는 컴퓨터에 의해 실행되기 앞서서 바이너리 코드로 번역 되어야 한다. 컴퓨터는 1과 0만 이해하기 떄문이다. 이처럼 CPU가 이해할 수 있는 바이너리 코드로 바꾸어 주는 프..
컨텍스트 스위칭이 무엇인가? 멀티프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 떄 기존의 프로세스의 상태 또는 레지스터 값(Context)을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값(Context)을 교체하는 작업을 컨텍스트 스위칭(Context Switching)라고 한다. 참고로 컨텍스트 스위칭 떄 해당 CPU는 아무런 일을 하지 못한다. 따라서 컨텍스트 스위칭이 잦아지면 오버헤드가 발생해 효율(성능)이 떨어진다. 컨텍스트는 무엇인가? 사용자와 다른 사용자, 사용자와 시스템 또는 디바이스간의 상호작용에 영향을 미치는 사람, 장소, 개체등 현재 상황(상태)을 규정하는 ..
커널 커널은 컴퓨터 시스템을 제어하는 일을 한다. 여기에는 메모리, 사운드카드, 키보드, 모니터와 같은 시스템자원을 포함한다. 이러한 시스템자원을 사용하는 것은 보통 응용 프로그램의 요청을 통해서 이루어지게 되므로 커널은 응용 프로그램을 관리하는 일도 한다. 응용 프로그램의 실행되는 순서라든지 응용 프로그램이 요구하는 시스템자원에 대한 관리가 그것이다. 커널 (Kernel, 핵심) - 소프트웨어적인 관점에서 프로그램의 뇌 - 시스템 데이터나 하드웨어를 직접 액세스 및 제어 프로세스와 쓰레드의 차이점 프로그램의 실행 관점에서 이해하는 것도 중요하지만, 메모리 관점에서 이 둘의 차이점을 이해하는 것 도 중요하다. 프로세스는 메모리를 공유하지 않지만, 프로세스 내에 존재하는 둘 이상의 쓰레드들은 스텍을 제외한..