На чём писать-DX vs OpenGL
| |
OpenGOO | Дата: Вторник, 04 Июня 2013, 23:20 | Сообщение # 21 |
почти ветеран
Сейчас нет на сайте
| Цитата (GreyGLoomy) мне кросс-платформенность не особо нужна кросс-платформенность либо нужна, либо не нужна, но судя по ответу не нужна, тогда выбор очевиден DirectX Carmack: Direct3D is now better than OpenGL
Цитата Если вы не знаете, куда вы идете, то вас туда приведет любая дорога /Коран/
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Вторник, 04 Июня 2013, 23:23 |
|
| |
Archido | Дата: Среда, 05 Июня 2013, 09:03 | Сообщение # 22 |
Сэнсэй
Сейчас нет на сайте
| Цитата (imperator12) Если планируется кроссплатформеность то OpenGL, если нет то DirectX однозначно. Цитата (OpenGOO) С моей точки зрения лучше начать с OpenGL, поскольку его поддерживают следующие платформы Windows, Linux, OS X, Android, iOS, BlackBerry, но если тебе нужна только Window и ничего кроме неё, тогда уж DirectX будет лучшим решением. Вот никогда не понимал логику такой аргументации в пользу OpenGL. Приходит новичок с дилеммой - не знает что выбрать, WinApi для него темный лес, о комп. графике понятий похоже практически не имеет... а ему впаривают про кроссплатформенность И OpenGL ему советуют только в том случае, если он через пару недель уже будет писать под "Windows, Linux, OS X, Android, iOS, BlackBerry", а иначе "DirectX будет лучшим решением" Забавно, что аж не описать.
Можно не один год только GAPI и комп. графику изучать, да и кп - это не только графика, там еще очень много разного рода специфичных вещей. Тот кто собирается писать под множество ОС - не задает вопросы вида "OpenGL vs DirectX", и по-моему это очевидно.
GreyGLoomy Я в свое время начинал с OpenGL (есть мнения, что освоить его проще), glut / glfw не использовал, обвязки над WinApi писал сам (просто было интересно). Потом из интереса пересел за DX, после опыта работы с OpenGL осилил его очень быстро (в целом там только API другое, остальное все аналогично), в итоге после такой процедуры складывается личное впечатление о том, что лучше / удобнее. Попробуй сделать так же
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 09:50 | Сообщение # 23 |
почти ветеран
Сейчас нет на сайте
| Цитата (Archido) Вот никогда не понимал логику такой аргументации в пользу OpenGL. Приходит новичок с дилеммой - не знает что выбрать, WinApi для него темный лес, о комп. графике понятий похоже практически не имеет... а ему впаривают про кроссплатформенность И OpenGL ему советуют только в том случае, если он через пару недель уже будет писать под "Windows, Linux, OS X, Android, iOS, BlackBerry", а иначе "DirectX будет лучшим решением" Забавно, что аж не описать. Ничего забавного здесь нет, новичку (это состояние только временное) надо сразу думать на перспективу, чтобы в будущем не пришлось начинать всё заново.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
Archido | Дата: Среда, 05 Июня 2013, 10:40 | Сообщение # 24 |
Сэнсэй
Сейчас нет на сайте
| Цитата (OpenGOO) Ничего забавного здесь нет, новичку (это состояние только временное) надо сразу думать на перспективу, чтобы в будущем не пришлось начинать всё заново. Есть. Новичку для начала нужно научиться основам комп. графики, без каких-либо привязок куда-либо и задних мыслей. В добавок эти GAPI отличаются по большей части только интерфейсом (ну грубо так), при хорошем знании одного перейти на другой - дело нескольких недель. Что там заново нужно начинать - мне ни разу не понятно.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 05 Июня 2013, 10:42 |
|
| |
GreyGLoomy | Дата: Среда, 05 Июня 2013, 10:41 | Сообщение # 25 |
частый гость
Сейчас нет на сайте
| Цитата (OpenGOO) кросс-платформенность либо нужна, либо не нужна, но судя по ответу не нужна, тогда выбор очевиден DirectX я где то слышал что Майкрософтовцы специально ставят некие "заглушки" для торможения OpenGL на их ОС . ну а вообще многим кросс-платформеность не особо нужна и они пишут на OpenGL . Цитата (Archido) Я в свое время начинал с OpenGL (есть мнения, что освоить его проще), glut / glfw не использовал, обвязки над WinApi писал сам (просто было интересно). Потом из интереса пересел за DX, после опыта работы с OpenGL осилил его очень быстро (в целом там только API другое, остальное все аналогично), в итоге после такой процедуры складывается личное впечатление о том, что лучше / удобнее. Попробуй сделать так же мерси .Именно так я и думаю поступить-сначало что полегче выучу,потом что потруднее .
|
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 10:49 | Сообщение # 26 |
почти ветеран
Сейчас нет на сайте
| Цитата (Archido) Новичку для начала нужно научиться основам комп. графики, без каких-либо привязок куда-либо и задних мыслей Основам комп. графики можно научится и без изучения GAPI, комп. графики это отдельная тема.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
Archido | Дата: Среда, 05 Июня 2013, 11:11 | Сообщение # 27 |
Сэнсэй
Сейчас нет на сайте
| Цитата (OpenGOO) Основам комп. графики можно научится и без изучения GAPI, комп. графики это отдельная тема. Можно. Но я подразумеваю конкретную "часть", привязанную к сегодняшим реалиям и GAPI. Начиная с основ вроде подготовки, трансформации, отрисовки геометрии, работе с Z и Stencil буферами, blend'ом, отрисовки полупрозрачной геометрии, etc и заканчивая сложными шейдерными техниками, которые используются в современных играх. В данном контексте под "комп. графикой" я имел в виду именно это. И оно полностью справедливо как для DX, так и для OpenGL. Разница только в том, каким образом скажем, создается буфер, и каким образом он отдается на отрисовку.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 05 Июня 2013, 11:12 |
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 11:25 | Сообщение # 28 |
почти ветеран
Сейчас нет на сайте
| Вот как сейчас современная реальность выглядит -)
Код void TriangleWindow::initialize() { m_program = new QOpenGLShaderProgram(this); m_program->addShaderFromSourceCode(QOpenGLShader::Vertex, vertexShaderSource); m_program->addShaderFromSourceCode(QOpenGLShader::Fragment, fragmentShaderSource); m_program->link(); m_posAttr = m_program->attributeLocation("posAttr"); m_colAttr = m_program->attributeLocation("colAttr"); m_matrixUniform = m_program->uniformLocation("matrix"); }
Есть к стати ещё одна альтернатива например SDL. Кстати вышел релиз кандидат SDL 2.0
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Среда, 05 Июня 2013, 11:31 |
|
| |
Archido | Дата: Среда, 05 Июня 2013, 11:46 | Сообщение # 29 |
Сэнсэй
Сейчас нет на сайте
| Обертка над OpenGL - это современная реальность?
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 11:54 | Сообщение # 30 |
почти ветеран
Сейчас нет на сайте
| Цитата (Archido) Обертка над OpenGL - это современная реальность? Да это реальность, ты не поверишь, но эта обёртка ещё работает как OpenGL ES 2.0 поверх DirectX 9 -) Код работает даже на моей древней интеловской встроенной карте. (OpenGL 1.4)
Кстати, я недавно встретил обёртку OpenGL (версию не помню) поверх DirectX 11
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Среда, 05 Июня 2013, 11:57 |
|
| |
Archido | Дата: Среда, 05 Июня 2013, 12:50 | Сообщение # 31 |
Сэнсэй
Сейчас нет на сайте
| Цитата (OpenGOO) Да это реальность, ты не поверишь, но эта обёртка ещё работает как OpenGL ES 2.0 поверх DirectX 9 -) И зачем? А вообще - очень круто, особенно когда транслятор ANGLE'a спотыкается на нетривиальном шейдере OGL'a, при попытке сконвертить его в hlsl. Костыли они такие. И кому-то нравятся, да.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 13:25 | Сообщение # 32 |
почти ветеран
Сейчас нет на сайте
| Можно из без ANGLE обойтись (сперва мне тоже так хотелось сделать, пока в тему не в ехал), если так очень хочется, но код всё равно будет тот же. Archido, если тебе это решение не нравиться или оно для твоего проекта/ов не подходит. это не значит что этот инструмент плохой.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
Archido | Дата: Среда, 05 Июня 2013, 14:02 | Сообщение # 33 |
Сэнсэй
Сейчас нет на сайте
| Цитата (OpenGOO) если тебе это решение не нравиться или оно для твоего проекта/ов не подходит. это не значит что этот инструмент плохой. Так я и не говорил, что инструмент плохой , я сказал лишь, что трансляция OpenGL ES 2 -> DX 9 - костыль. Ну и QtOpenGL - для меня не "современная реальность", тут уж на вкус и цвет. А вообще уже сильно отошли от темы.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
GreyGLoomy | Дата: Среда, 05 Июня 2013, 14:23 | Сообщение # 34 |
частый гость
Сейчас нет на сайте
| Цитата (Archido) А вообще уже сильно отошли от темы дык темку можно и закрыть .Уже решил что OpenGL.
|
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 14:48 | Сообщение # 35 |
почти ветеран
Сейчас нет на сайте
| Цитата (Archido) я сказал лишь, что трансляция OpenGL ES 2 -> DX 9 - костыль Тебе явно не понятно что такое API.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
Archido | Дата: Среда, 05 Июня 2013, 15:15 | Сообщение # 36 |
Сэнсэй
Сейчас нет на сайте
| Цитата (OpenGOO) Тебе явно не понятно что такое API. Ну главное, что тебе понятно.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
OpenGOO | Дата: Среда, 05 Июня 2013, 18:10 | Сообщение # 37 |
почти ветеран
Сейчас нет на сайте
| Цитата (GreyGLoomy) дык темку можно и закрыть .Уже решил что OpenGL. Если всё таки выбрал OpenGL вот тебе информация по Modern OpenGL а то у нас доминирует информация по Legacy OpenGL 1.x
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
GreyGLoomy | Дата: Среда, 05 Июня 2013, 18:38 | Сообщение # 38 |
частый гость
Сейчас нет на сайте
| Цитата (OpenGOO) Если всё таки выбрал OpenGL вот тебе информация по Modern OpenGL а то у нас доминирует информация по Legacy OpenGL 1.x спасибо .Почитаю на досуге
|
|
| |
Xakep | Дата: Среда, 05 Июня 2013, 19:32 | Сообщение # 39 |
めちゃくちゃちゃ
Сейчас нет на сайте
| Цитата (OpenGOO) Carmack: Direct3D is now better than OpenGL Жалко, он мне очень нравился тем, что использует OpenGL. Вообще фигню пишет там. вот еще почитай, хорошие уроки: http://www.opengl-tutorial.org/ с шейдерами научишься работать хорошо, потому-что там все старые инструкции с glPushMatrix и прочим убираются, и используются шейдеры, текстурование тоже через шейдеры, но при этом поддерживается OpenGL 2.2. и с OpenGL 3 и выше, будет проще работать.
|
|
| |
GreyGLoomy | Дата: Среда, 05 Июня 2013, 21:16 | Сообщение # 40 |
частый гость
Сейчас нет на сайте
| Цитата (Xakep) http://www.opengl-tutorial.org/ Интересная страница .Тоже на заметку возьму
|
|
| |
|