OpenGL에서 게임을하고 SDL을 사용하여 창 관리, 아이콘 설정 및 모든 작업을 수행합니다. 장면을 프레임 버퍼로 렌더링하도록 설정 했으므로 시작 GL 설정을 유지하면서 SDL 창 크기를 조정할 수 있는지 궁금했습니다 (정확한 해상도를 에뮬레이트하려고 시도하고 있으므로 창 크기가 창 크기에 맞게 프레임 버퍼 크기를 조정합니다).)OpenGL 및 SDL, 내부 해상도를 변경하지 않고 창 크기를 조정 하시겠습니까?
내가 glortho로 전달하는 해상도의 해상도를 SDL 창에 두 배 줄 렸지만 예상치 못한 결과가 나타납니다. 이것이 가능한가, 아니면 내 작업 해상도를 항상 화면 해상도에 맞게 조정해야합니까? 은 I 영상을
SDL_SetVideoMode(XRES, YRES, bpp, SDL_OPENGL | SDL_HWPALETTE);
gl_init(XRES,YRES);
를 초기화하는 코드를 사용 gl_init으로 I는 glOrtho (0, 폭, 0, 높이, -1, 1), 다음 프레임 버퍼는 "빈"텍스처 너비와 높이 glortho 설정 뿐만 아니라 크기.
위와 같이 함수를 호출하면 모두 정상입니다. 내가 대신 내 예상 결과 (축소 출력)를 얻기의
SDL_SetVideoMode(XRES*2, YRES*2, bpp, SDL_OPENGL | SDL_HWPALETTE);
gl_init(XRES,YRES);
뭔가를하려고하면하지만 출력이 먼 경우처럼, X 축에 어딘가에 Y 축 중간에 왼쪽에있는 곳임을 알 수 GL 크기는 화면보다 커졌고 나머지는 잘려 나갔다. 내가 누락 된 것이 있습니까?
내 GL을 고정 크기로 유지하고 싶습니다 ... 창 크기를 조정하면 내부적으로 같은 수의 픽셀로 계속 작업 할 것이고 특별히 정수가 아닌 값은 피할 수 있습니다. 단일 픽셀 세부 사항을 파괴하는 부서에서 반올림 오류 때문에 이전 프로젝트에 문제가있었습니다. – PatrickL83
@Patrick : 그러면 원하는 해상도의 FBO 만 만들면됩니다. 그런 다음 실제 SDL 창으로 그립니다. –
Nicolas, 그건 내가 말한거야. – karx11erx