Рисование пикселей на экране, кросс-платформенный - PullRequest
2 голосов
/ 25 ноября 2011

Короче говоря, все, что я хочу, это отображать данные пикселей на экране наиболее фундаментально возможным способом, не теряя кросс-платформенной совместимости.

Я знаю, что подобные вопросы задавались ранее, но они некажется, что я иду в том направлении, в котором я смотрю.

По сути, я делаю свою собственную маленькую библиотеку игр, которую я собираюсь использовать для своих собственных игр с 2D-пиксельным искусством.Об обработке всех пикселей я сам позабочусь, и теперь я искал абсолютно минимальное решение - открыть окно, прослушать его события (мышь, клавиатура, события окна) и нарисовать на нем свои пиксели.Бонусом будет то, что библиотека сможет обрабатывать потоки и / или аудио.

Мне не нужна поддержка OpenGL на этом этапе, и я не уверен, что когда-либо буду.Мне не нужны никакие функции, кроме упомянутых.Должен ли я начать копаться в Windows, X11 и OSX API, или есть где-то действительно минималистская платформа?Действительно ли создание моей собственной независимой от минимализма платформы - тяжелая работа?Если это не так уж важно, я мог бы просто взглянуть на это решение из чистого любопытства.

Если у вас есть какие-то идеи о том, как сделать что-то свое, а не найти что-то полезное, я весь в ушах.

Спасибо!

РЕДАКТИРОВАТЬ: Короче ...

1 Ответ

6 голосов
/ 25 ноября 2011

Самая полная, но простая библиотека: SDL .Это кроссплатформенный для Windows, Mac, Linux и многое другое.С его помощью вы можете:

  • создать свое игровое окно (или сделать игру полноэкранной)
  • обрабатывать события клавиатуры и мыши
  • получать доступ к отдельным пикселям (добавить SDL_Draw для функций рисования пикселей, линий, окружностей и т. Д.)
  • воспроизведение звуковых эффектов
  • воспроизведение фоновой музыки
  • функции потоков
  • Поддержка OpenGL, если вы понимаете, что она вам нужна.

Обратите внимание, что ваша идея обрабатывать рисунок по-своему, обращаясь к отдельным пикселям, может не дать вам хорошей производительности, если ваша игра не очень проста.Я бы оставил дверь открытой для OpenGL и чудесного мира аппаратного ускорения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...