Можно создать дубликат:
OpenGL or DirectX?Сравнения между OpenGL и DirectX
Не хочет, чтобы вызвать войну, но на самом деле хочет знать все плюсы и минусы этих два основных графической библиотеки?
Можно создать дубликат:
OpenGL or DirectX?Сравнения между OpenGL и DirectX
Не хочет, чтобы вызвать войну, но на самом деле хочет знать все плюсы и минусы этих два основных графической библиотеки?
Чтобы быть честным, сложная часть не является API, это материал третьего уровня более высокого уровня. Ниже, что оба API имеют вершинные буферы, индексы, текстуры, шейдеры и т. Д., И хотя они выражают это по-разному, это концепции, которые являются сложной частью не API. Если вы поймете d3d11, вы сразу же заберете opengl и наоборот.
Практические соображения в том, что opengl доступен на других платформах, но d3d имеет тенденцию лучше поддерживаться и лучше работать на платформах Windows. d3d имеет более объектно-ориентированный интерфейс, тогда как opengl имеет строго «c» интерфейс стиля (хотя он занимается внутренне объектами через «имена» и дескрипторы). Вероятно, легче начать обучение, чем d3d11, для которого требуется совсем немного настройки, но в «реальных» приложениях этого не будет.
d3d11 предназначен для лучшей работы с многоядерным процессором и многопоточным программным обеспечением. Это добавляет некоторую сложность в ее использовании, но позволяет вам, возможно, использовать больше преимуществ аппаратного обеспечения, а затем opengl может быть на данный момент времени. (Тем не менее, если вы все еще на стадии запроса о том, что использовать, то это очень маловероятно для вас!)
Это, как правило, намного легче найти документацию для d3d9, чем opengl (я имею в виду «современный» материал, а не примеры использования устаревших способов делать вещи (что является проблемой с opengl, многие учебники и код там откровенно устарели и на самом деле не используют opengl правильно сейчас). В то время как довольно сложно найти хорошие примеры d3d11 и
Если вы не использовали ни один из них, я бы очень рекомендовал изучать основы BOTH и несколько разных подходов к одному и тому же базовому функциональному признаку. Не увлекайтесь тем, что один лучше, чем другой, узнайте обоим и посмотрите, что лучше подходит.Это то, что делают большинство людей, к сожалению, большинство «советов», которые вы получите в Интернете, похоже, от кого-то, кто решил, что для них важно толкать один или другой API!
Я нашел это полезным упражнением при обучении абстрагированию различий с небольшой C++-структурой, которая создает текстуры, буферы вершин, буферы индексов, коллекции renderstate и т. Д., И реализует эти концепции с точки зрения ОБА apis /.
OpenGL - это кросс-платформенный API для 3D-графики. DirectX - это API с ограниченной платформой для графики, аудио, музыки, ввода устройств, сетей и т. Д.
Кулак всего, DirectX - это намного больше, чем трехмерный ускоренный рендеринг. Я предполагаю, что вы говорите о Direct3D.
Во всяком случае, вот мой совершенно предвзятое мнение:
В DirectX нет немедленного режима, это, должно быть, было давно, что вы попробовали directx! – 2010-11-13 08:38:39
Я думал, что это был режим сохранения, с которым они покончили, так как никто не использовал его. – cdhowie
Можно с полным основанием предположить, что, поскольку люди * делают * еще код против Direct3D, программисты, как правило, являются разумными людьми, и я не слышал о каких-либо инцидентах, связанных с мед-шернем, есть некоторые преимущества. – ijw