Кроссплатформенная библиотека окон - интеграция OpenGL и DirectX - PullRequest
2 голосов
/ 23 декабря 2010

Я собираюсь начать работу над пользовательским кроссплатформенным движком (c ++), который должен поддерживать последние версии OpenGL и DirectX. Рендерер выбирается перед компиляцией.

Я смотрю на кроссплатформенные библиотеки для обработки создания и ввода окон, которые также могут обрабатывать новейшие реализации DX и OGL - предпочтительно низкопрофильные, а главное - быстрые. Любые рекомендации?

Спасибо!

Ответы [ 5 ]

3 голосов
/ 25 января 2011

Вы должны проверить SFML (Simple Fast Media Library). Несмотря на то, что SDL более известен благодаря своему старости, SFML гораздо функциональнее и удобнее в дизайне, несмотря на то, что ему всего несколько лет. По сути, он может быть описан как более новый, более современный и объектно-ориентированный SDL (это C ++; SDL это C).

Чтобы дать вам краткий обзор его возможностей:

  • Кроссплатформенность (Windows, Mac OS X, и Linux).
  • Имеет модули для системных вещей (события, таймеры и т. д.), управление окнами, видео (аппаратно-ускоренный OpenGL 2D графика), аудио и сети.
  • Поддерживает все основные и основные форматы изображений и аудио файлов, с заметное исключение MP3 из-за вопросы лицензирования (хотя это доступно как расширение).
  • Также поддерживает шрифты (FreeType2 интегрированный) и многое другое.

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

Он должен быть в состоянии обеспечить хорошую основу для вашей идеи.

3 голосов
/ 23 декабря 2010

SDL , вероятно, является наиболее используемой кроссплатформенной библиотекой для такого рода вещей.

2 голосов
/ 23 декабря 2010
0 голосов
/ 23 декабря 2010

OpenGL и DirectX несколько похожи, но сильно отличаются. OpenGL создан с целью направить разработчикам желание рендеринга на устройства, если они доступны. DirectX построен с идеей сделать возможности рендеринга устройств доступными для разработчика.

Благодаря различиям вы в конечном итоге реализуете почти все дважды. Управление окнами - довольно незначительная проблема. Вам не нужны точно такие же окна, так как вы все равно будете использовать одно или другое для рендеринга в них.

Возможно, лучше всего использовать разные вещи для создания окон (например, SDL для OpenGL и MS API для DirectX) и заключать их в общий интерфейс. Тогда «вещи» также будут выбраны до компиляции. Там, где MS API недоступен, вам также не хватит DirectX, поэтому нет необходимости делать его переносимым.

0 голосов
/ 23 декабря 2010

Irrlicht

Ogre

Оба быстрые и мощные. Они отлично подходят для игр, если я правильно понял ваше намерение.

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