그날의 길 돌아 가기 게임 프로그래밍 책에서 C를 배웠습니다. 올바르게 기억한다면, 게임 "엔진"이 할 첫 번째 일 중 하나는 디스플레이 모드를 렌더링으로 전환하는 것입니다. 이것은 640x480 디스플레이 모드 (모드 13 일 수도 있겠습니까?)로 전환하기 위해 약간의 asm을 필요로하므로 화면에 직접 그릴 수 있습니다. 그런 것.명령 행에서 디스플레이 모드 변경하기
내 질문은 무엇입니까? 비슷한 것을하는 명령 행 프로그램 작성에 관심이 있습니다. 내가 그릴 수있는 래스터 모드에 빠져들지 만, 내 프로그램이 kde, unity, Aqua 등과 같은 일종의 창 관리자에서 돌아가고 있다고 가정하지는 않습니다.
OpenGL이 할 수있는 것이겠습니까? 제공 (또는 OpenGL은 창 관리자도 가정 함). 내 제안 된 프로그램은 게임이 아니지만 이상적인 기본 기본 화면 (2d 줄, 원 등)을 그릴 수있는 기본 화면으로 시작합니다
건배!
모드 13은 320x200 뿐이지 만 다른 모든 고밀도 모드에서는 블릿 마스크가 필요한 모든 바이트에 선형 액세스가 가능하므로 가장 많이 사용되었습니다 (한 번에 1 색 비트 쓰기) 또는 뱅크 전환 (그래픽 칩 유형마다 특수 코드가 필요함). .. 그런데, 도서관을 추천하는 것은 주제가 아니므로 SDL은 언급하지 않을 것입니다. (죄송합니다.) – usr2564301
일반적으로 베어 시스템을 사용하여 메모리 (또는 비디오 메모리의 최신 비디오 카드)에 두 개의 버퍼를 할당하십시오. 비디오 수직 귀선 시작을위한 인터럽트를 인 에이블한다. 이 인터럽트는 다른 버퍼가 준비되면 어떤 버퍼가 표시되는지를 교환합니다. 어떤 버퍼가 표시되고 있지 않은지 표시합니다. 모든 기록은 표시되지 않는 버퍼에 기록됩니다. 버퍼를 표시 할 준비가되면 표시 할 버퍼의 표시를 변경하여 인터럽트가 비디오 카드에 최신 버퍼를 표시하도록합니다. 코드는 새로 사용 가능한 버퍼를 복사/업데이트 할 수 있습니다. – user3629249