Sapphire 3D
| |
warzes | Дата: Вторник, 12 Июня 2012, 13:11 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Вот решил завести тему, буду отписываться о разработке трехмерного движка. Может кто-то помнит - я еще раньше статьи пытался писать, но как-то не получилось. Здесь я буду просто вести лог разработки. Создаю в разделе идей, потому что пока это даже близко не движок и очень долго так и будет оставаться.
Для чего это мне: нравится ковырять низкий уровень. есть проект под который пишется этот движок. мну не нравятся другие движки ( я их видел много). Экспа - мну считает полезными получаемые при этом знания.
Чего я жду от вас: надеюсь найдется светлая душа (и не одна) которая будет указывать на ошибки и кривости в коде. Плюс - предложения, пожелания, вопросы. Ссылки на полезные статейки по текущей теме разработки также приветствуются.
О движке: В моих мечтах он превзойдет UDK 4:) А на самом деле у движка есть одна важная идея - быть быстрым движком при приемлемой картинке на экране. Я также отказался от мультиплатформы - только Windows, при этом только 7 и старше. Используется DirectX 11. Причина проста - мне не интересно мультиплатформенное программирование, а тратить лишнее время на дублирование кода OGL/DX9/DX11 или Windows/Lunix/Mac совершенно нет желания. В будущем все может быть и я оставлю места для этого, но пока нет.
Я хотел еще делать его модульным, но у меня с этим возникли проблемы и я отказался от этой идеи. Модульность будет отображаться каталогами в одном проекте.
Писать полностью с нуля не имея опыта - это самоубийство, поэтому я под рендер взял Hieroglyph. Это очень крутая вещь, как раз такая какая мне и нужна. Я очень рад что нашел ее. Сначала я хотел писать поверх нее, но дело в том что разработчики довольно регулярно добавляют заплатки и я отказался от идеи вмешиваться в исходники... Но один грешок вы можете уже увидеть в исходниках - убраны копирайты (если честно - мне они вечно мешают, я даже свои никогда не пишу - слишком много мусора получается из-за них и все равно их никто не видет), и изменено пространство имен (только ради удобства). Это единственное изменение Hieroglyph, во всем остальном он без изменений и таким и останется. Дело в том что я хочу со временем его вытолкнуть из проекта заменив своим кодом. Но пока он будет там чтобы иметь что-то близкое к рабочему. В исходниках вы уже можете это увидеть - я заменил Application и RenderWindows на свои, кроме того я использую свою систему обработки ввода вместо той которая в Hieroglyph (мне уже доказали - такая архитектура крива - события ввода обрабатываются с задержкой и это может привести к их потере, моя же обрабатывает сразу)
Текущее состояние: Пустое окно. Солюшин состоит из трех проектов - Hieroglyph, SapphireEngine, 1_minimal. Мой код только в SapphireEngine и в 1_minimal. В SapphireEngine будет размещаться код моего движка. 1_minimal это просто тестовое приложение - создает пустое окно.
Планы: Пройдусь по этим урокам - http://rastertek.com/tutdx11.html Надо чтобы все это можно было так или иначе на нем сделать (точнее все это можно через Hieroglyph и сейчас сделать, но ведь надо еще разобраться как) Затем по этим http://rastertek.com/tutterr.html буду делать ландшафт.
На данный момент я сосредоточен только на рендере. Все остальное пока что будет игнорироваться. Потом буду делать физику, звук, инструментарии и т.д.
Исходники: Sapphire Думаю, буду время от времени скидывать новую версию - возможно по воскресеньям, если будет что выкладывать:) Может чаще.... Если решу выкладывать чаще, заведу репозиторий, но пока так.
Лицензия Лицензия Hieroglyph. Мой код под public domain. Но в определенный момент исходники будут закрыты, так что налетай народ, пока дают:)
И самое важное - Just for fun
Мой блог Вики DirectX
|
|
| |
imperator12 | Дата: Вторник, 12 Июня 2012, 13:27 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Ну удачи тебе тока не понимаю почему не на ХР?
|
|
| |
warzes | Дата: Вторник, 12 Июня 2012, 13:31 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Quote (imperator12) Ну удачи тебе тока не понимаю почему не на ХР? directX 11 потому что. Чтобы там не говорили но DX11 дает более качественную картинку чем DX9 при тех же трудозатратах (то есть, чтобы сделать что-то на dx9 придется потратить больше сил)
Мой блог Вики DirectX
|
|
| |
Corefox | Дата: Вторник, 12 Июня 2012, 13:33 | Сообщение # 4 |
участник
Сейчас нет на сайте
| XP не поддерживает DirectX 11. Другой вопрос: почему не на DirectX 9 only? на 9-ой директике много юзеров сидят, многие не хотят с хрюшки слезать, а у некоторых видеокарта 11 не поддерживает.
Опаснай быдло девочкалар Ийэм маҥан сирэйи төрөппүтүгэр махтанабын ^O^ мин сахабын! Отныне и поныне сейчас я няша и буду хорошим ^_^
|
|
| |
Demeron | Дата: Вторник, 12 Июня 2012, 13:38 | Сообщение # 5 |
User created in C++
Сейчас нет на сайте
| Quote (Corefox) XP не поддерживает DirectX 11 Кстати да... Quote (Corefox) а у некоторых видеокарта 11 не поддерживает. Например я... Только DX 10.1
|
|
| |
goldsphere | Дата: Вторник, 12 Июня 2012, 13:41 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Прогресс не стоит на месте, и он не будет ждать пока все подтянутся.
FinderX - Android Аркада
Сообщение отредактировал goldsphere - Вторник, 12 Июня 2012, 13:41 |
|
| |
warzes | Дата: Вторник, 12 Июня 2012, 13:42 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Quote (Corefox) почему не на DirectX 9 only? ну я написал - dx11 проще при создании современной графики. Чем дольше оставаться на DX9 тем сложнее потом будет перейти на современную графику. Движок будет готов не сегодня, не завтра и может даже не через год. Через год-два, все игроки перейдут на новую винду (все больше игр будет этого требовать), выйдет dx12 (когда-нибудь да выйдет)... Так что браться за то что придется потом выкинуть - не хочется.
Мой блог Вики DirectX
|
|
| |
Demeron | Дата: Вторник, 12 Июня 2012, 13:44 | Сообщение # 8 |
User created in C++
Сейчас нет на сайте
| warzes, кстати, какие будут преимущества у движка?
|
|
| |
warzes | Дата: Вторник, 12 Июня 2012, 13:47 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Quote (Demeron) warzes, кстати, какие будут преимущества у движка? ну... Как я написал - у меня цель сделать его как можно быстрее (так как этого требует мое железо). Какие-то другие преимущества еще рано выявлять - я еще рендер только пишу, все еще сто раз сменится (в том числе и мои собственные планы)
Мой блог Вики DirectX
|
|
| |
TimKruz | Дата: Вторник, 12 Июня 2012, 14:22 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| Даже ЯП нигде не указал... Можно подумать, что C++ - default programming language... Quote (warzes) Используется DirectX 11. Значит на своём настольном компьютере я её не запущу, даже если установлю Win7 - видеокарта выше DirectX 10 не поддерживает. А покупать новую ради каких-то там новомодных игрушек, в которых даже самый простой куб имеет over 9000 спецэффектов, не хочется, потому что кроме супер-пупер графики там зачастую ничего хорошего не наблюдается. Quote (warzes) ну я написал - dx11 проще при создании современной графики. Ага. Но намного ли? Визуально-то ничего не меняется, текстурированный куб остаётся текстурированным кубом. А прирост скорости в миллисекунды пользователь не ощутит. Или ты реально планируешь, что твой движок когда-нибудь Quote (warzes) превзойдет UDK 4? Quote (warzes) Дело в том что я хочу со временем его вытолкнуть из проекта заменив своим кодом. А не проще ли начинать сразу, без Hieroglyph? Всё равно велосипед делаешь... Представь: ты сделал крутую педаль, и хочешь прикрутить её к китайской раме, а у неё резьба меньшего диаметра и ось монолитная, штампованная - придётся либо переделывать свою деталь, либо менять всю раму, либо приклеивать клеем "Момент". Или сделал собственное крутое колесо большого диаметра и пытаешься прикрепить (скотчем, наверное) к раме от штампованного детского трёхколёсного велосипеда. Или придумал новую штуковину, а места для неё на готовой раме вообще не предусмотрено. Ну и тому подобное. Проще нарисовать свой чертёж и по нему выпиливать и собирать детали. Не знаю, может пример не подходящий, но суть ясна. Quote (warzes) у меня цель сделать его как можно быстрее (так как этого требует мое железо). Что это за железо такое, что поддерживает DirectX 11/12, но работает медленно...
Quote (warzes) И самое важное - Just for fun Quote (warzes) в определенный момент исходники будут закрыты Что-то не сходится...
Quote (warzes) 2D Sapphire - двухмерный движок 3D Sapphire - движок Можно было совместить... Или отдельно лучше?
P.S. Удачи в разработке.
|
|
| |
Cre-game | Дата: Вторник, 12 Июня 2012, 14:37 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Quote (warzes) directX 11 потому что А будет поддержа DX 10.1?
А какие языки программирования будет поддерживать?
В общем, удачи!
Всем добра
|
|
| |
warzes | Дата: Вторник, 12 Июня 2012, 14:51 | Сообщение # 12 |
участник
Сейчас нет на сайте
| Quote (TimKruz) текстурированный куб остаётся текстурированным кубом. но если в dx9 он так и оставался текстурированным кубом, то теперь на него вешается миллион шейдеров, его детализация повышается за счет теселяции и т.д. Телесяцию кстати ни как не сделать на dx9 (и даже на dx10) а это уберкрутая штука - так как позволяет делать крутые вещи балансируя между скоростью и качеством картинки
Quote (TimKruz) А прирост скорости в миллисекунды пользователь не ощутит. dx11 быстрее dx9 - это уже общеизвестный фактор, microsoft переписала низкоуровневый код взаимодействия с видеокартой с нуля - оттуда кстати невозможность поставить dx10+ на xp
Quote (TimKruz) А не проще ли начинать сразу, без Hieroglyph? Всё равно велосипед делаешь просто теряется представление - что дальше делать. Здесь я просто изменяю то что интересно, и при этом все еще имею более-менее функциональный движок и если мне срочно надо будет что-то проверить у меня такая возможность есть
Quote (TimKruz) Что это за железо такое, что поддерживает DirectX 11/12, но работает медленно.. ну вот такой вот странный ноутбук.
Quote (TimKruz) Что-то не сходится... вся эта тема ради фана, разработка движка тоже ради фана... но в определенный момент движок перейдет ту стадию когда фановая разработка в нем будет накладной...
Quote (TimKruz) Можно было совместить... Или отдельно лучше? отдельно луче - потому что 2D Sapphire на OpenGL, а здесь я не хочу использовать OGL.
Quote (Cre-game) А будет поддержа DX 10.1? скорее всего нет.
Quote (Cre-game) А какие языки программирования будет поддерживать? только с++
Мой блог Вики DirectX
|
|
| |
Cre-game | Дата: Вторник, 12 Июня 2012, 14:55 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| Не мог бы вшить АнгелСкрипт? Он идет как DLL-библиотека.
Всем добра
|
|
| |
Demeron | Дата: Вторник, 12 Июня 2012, 15:01 | Сообщение # 14 |
User created in C++
Сейчас нет на сайте
| Quote (warzes) dx11 быстрее dx9 Мм... Ну не знаю... Может разве что для самых новых видеокарт... А так я запускал Assassin's Creed под DX9 и DX10 на ноуте, так под DX10 уже были ощутимы лаги, хотя в графике вроде как ничего не поменялось
|
|
| |
warzes | Дата: Вторник, 12 Июня 2012, 15:04 | Сообщение # 15 |
участник
Сейчас нет на сайте
| Quote (Cre-game) Не мог бы вшить АнгелСкрипт? Хм, поясню - сам движок пишется на С++. Но можно будет использовать скриптовые языки для управления. От Hieroglyph мне достался Луа, возможно и добавлю ангелскрипт потому что он мне больше нравится.Добавлено (12.06.2012, 15:04) ---------------------------------------------
Quote (Demeron) А так я запускал Assassin's Creed под DX9 и DX10 на ноуте, так под DX10 уже были ощутимы лаги, хотя в графике вроде как ничего не поменялось Я запускал метро 2033 и deus ex. Под dx11 было вроде бы быстрее, думаю и правда от видеокарты зависит - ведь именно связь с нею переписали
Мой блог Вики DirectX
|
|
| |
Cre-game | Дата: Вторник, 12 Июня 2012, 15:11 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| Quote (warzes) возможно и добавлю ангелскрипт потому что он мне больше нравится. Ура! Обязательно опробую твой двиг!
Всем добра
|
|
| |
warzes | Дата: Вторник, 12 Июня 2012, 15:57 | Сообщение # 17 |
участник
Сейчас нет на сайте
| так, завтра меня не будет. К воскресенью сделаю нормальный вывод моделей из файлов (ну как получится - нормальный).
Мой блог Вики DirectX
|
|
| |
Bassel | Дата: Вторник, 12 Июня 2012, 16:00 | Сообщение # 18 |
заслуженный участник
Сейчас нет на сайте
| warzes, идея хорошая! Успехов в разработке!
|
|
| |
innovation | Дата: Вторник, 12 Июня 2012, 16:00 | Сообщение # 19 |
участник
Сейчас нет на сайте
| warzes, Добрый день. Я так и не понял почему вы выбрали dx11, так как сам пишу движок (C#). Я понял, что лучшее творение Microsoftа - это Directx 9. Он быстрее, мощнее (в плане физике), стабильнее. Советую разобраться именно с ним в первую очередь, а после переписать под dx11, различие у них не большие. Так что вот вам совет: изучите dx9, а потом переходите на dx11. А так успехов вам в разработке !!!
Какой самый живучий паразит? Бактерия? Вирус? Кишечный глист? Идея. Она живучая и крайне заразная; стоит идее завладеть мозгом, избавиться от нее практически невозможно. Я имею виду сформировавшуюся идею, полностью осознанную, поселившуюся в голове.
Сообщение отредактировал innovation - Вторник, 12 Июня 2012, 16:02 |
|
| |
Undead | Дата: Вторник, 12 Июня 2012, 16:42 | Сообщение # 20 |
NeoAxis User
Сейчас нет на сайте
| warzes, Сделай движок модульным и рендер в виде отдельного модуля, тогда сможешь без больших усилий подключить другой рендер.
Вcем зла.
|
|
| |
|