2013-08-31 46 views
8

Tôi đã chơi xung quanh với SDL 2.0 nhưng sau khi tìm kiếm, tôi không tìm thấy bất kỳ thứ gì trực tuyến về cách hỗ trợ các mac võng mạc. Khi tạo một cửa sổ bằng cách sử dụng mã sau đây.SDL 2.0 retina mac

gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, 
      SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_SHOWN); 

Nó tạo ra một cửa sổ có kích thước thực tế 1000 * 1000. Đây không phải là vấn đề vì ứng dụng được cho là hoạt động bằng màn hình hidpi. Tuy nhiên, khi tải hình ảnh tôi dường như không thể tìm cách tải hình ảnh lớn gấp 2 lần cho màn hình võng mạc và hình ảnh của tôi luôn bị mờ.

Trả lời

13

Phiên bản hiện tại của SDL2 có hỗ trợ cho võng mạc.

Để tạo cửa sổ võng mạc, hãy gắn cờ SDL_WINDOW_ALLOW_HIGHDPI vào SDL_CreateWindow().

Sau sự kiện thay đổi kích cỡ, bạn có thể kiểm tra độ phân giải bộ đệm thực tế bằng lệnh gọi API SDL_GL_GetDrawableSize().

0

Ngay bây giờ, SDL không hỗ trợ màn hình hiển thị võng mạc trên máy Mac (hoặc hiển thị DPI cao trên máy Windows).

Có thảo luận về cách tốt nhất để thêm các tính năng này, và một vài bản vá lỗi nguyên mẫu trên tracker lỗi SDL của, ở đây: https://bugzilla.libsdl.org/show_bug.cgi?id=1934

Có lẽ chúng ta sẽ thấy sự ủng hộ võng mạc chính thức trong một thông cáo tương lai của SDL2. Hoặc nếu bạn sẵn sàng biên dịch các thư viện SDL của riêng mình, các bản vá đó sẽ làm việc cho tôi.