|
07.10.2009, 23:16
|
#1
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
SimpleGraphicsEngine 0.1b
Решил замутить свой графический движок на ДиректХ 9. Мутил 6 дней - и вот что получилось:
1) Полная поддержка шейдеров до 3 модели включительно
2) Простая классовая структура
3) Двиг прост в обращении ( чтобы нарисовать кубик надо всего 7 коротеньких строк кода )
4) Нормальная камера ( на самом деле ) на кватернионах
5) Пока загружает только *.х модельки но вскоре добавлю и 3ds и B3D
6) Простое использование шойдеров ( Загрузка -> Установка переменных -> Рисование )
7) Есть более расширенные настройки практически всего что есть в двиге
Дема.
В сцене самолет блицевский и кубик + бамп на всех объектах с правильным освещением
Управление ну уж очень казуальным вышло - WASD
AD поворот
В общем ногами не бейте.
Вот аттач( кому надо могу исходники скинуть )
__________________
Последний раз редактировалось mr.DIMAS, 25.04.2015 в 21:29.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
|
|
07.10.2009, 23:18
|
#2
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
да, я-бы глянул исходники ))
кстати на широком формате демка выглядит жутковато
|
(Offline)
|
|
07.10.2009, 23:32
|
#3
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: SimpleGraphicsEngine 0.1b
блин не учел что у некоторых широкие экраны ( fuck ) ладно щас исходники выложу
вотс ( основной файл Main.cpp - т.е дема )
Core.SetFullscreenMode(0);
меняешь на
Core.SetFullscreenMode(1);
получешь оконный режим
__________________
|
(Offline)
|
|
08.10.2009, 00:02
|
#4
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
А что значит "Не удалось запустить приложение, поскольку его параллельная конфигурация неправильна."?
|
(Offline)
|
|
08.10.2009, 00:05
|
#5
|
Бывалый
Регистрация: 29.03.2007
Сообщений: 662
Написано 199 полезных сообщений (для 448 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
Не запускается, кидает ошибку.
|
(Offline)
|
|
08.10.2009, 00:12
|
#6
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
нет редистов?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
08.10.2009, 00:12
|
#7
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: SimpleGraphicsEngine 0.1b
пипец, почему?
to ViNT попробуй запустить исходники
__________________
|
(Offline)
|
|
08.10.2009, 00:19
|
#8
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
Неужели так трудно сделать нормальное фрилучное управление?
Это же блин несколько строк кода (если у тебя и правда простой в обращении двиг, как написано в первом посте)
Увидел бамп, самолёт и сплющенный куб.
Для начала неплохо, но игру на этом пока не сделаешь
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
08.10.2009, 00:23
|
#9
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
Увидел бамп, самолёт и сплющенный куб.
|
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
08.10.2009, 00:32
|
#10
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
Сообщение от impersonalis
нет редистов?
|
Да, ни студия, ни что-то подобное у меня не установлено, видимо по этому и вылетает (потом уже обратил внимание на маленький размер приложения).
Но я поражаюсь майкрософту - зачем обзывать ошибки так, чтобы потом было не разобраться, что они значат...
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ViNT за это полезное сообщение:
|
|
08.10.2009, 09:16
|
#11
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: SimpleGraphicsEngine 0.1b
__________________
|
(Offline)
|
|
08.10.2009, 14:14
|
#12
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
Посмотрел код. Рекомендую теперь сделать Ctrl+A потом Ctrl+Del и начинать заново. Из очевидного что бросилось в глаза сразу:
1) Камера не унаследована от ентити, просто отдельный класс - бред
2) Функции управления объектами (перемещение и т.п.) не имеющие ничего общего с реальностью
3) Кругом лишняя нагрузка на процессор. На более менее приличной сцене твой двиг погибнет из-за этого
4) С текстурами вообще ничо не ясно. Но функция установки фильтрации убила (во-первых, всегда ставятся значения на 0 уровень, во-вторых, анизотропка ставится неверно).
5) Вся работа с шейдерами - тонюсенькая обертка вокруг стандартных ID3DXEffect
6) Сильная зависимость от D3DX, в идеале лучше не использовать ничего кроме шейдеров с нее.
7) Материалы типа есть, но по факту их нет
8) Увидев дефайн:
Скатился под стол
9) Для загрузки Х моделей опять же юзается D3DX, поэтому о легкой загрузке других форматов забудь сразу, для этого тебе придется переписать двиг.
10) Общий стиль кода - смахивает на копипаст с разных мест. Блин, не может один человек писать используя десяток стилей (альтернативно одаренных оставим в стороне).
11) В общем и целом - это не двиг, а некая обертка над ДХ
12) Сильная зависимость от GAPI. У нас это явилось причиной невозможности портирования движка на другие платформы.
В общем работай, может чо и выйдет удобоваримое в итоге. Пока кода немного проще привести все в порядок, дальше будет хуже.
Ну и по траблам с необходимостью редиста для запуска - мать вашу, научитесь уже проект настраивать для начала, потом пишите двиги. В данном конкретном случае достаточно переключить тип рантайм библиотеки на статичную, вместо используемой DLL.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.10.2009, 17:05
|
#13
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: SimpleGraphicsEngine 0.1b
Учитесь как надо отписываться! Спасибо за точное высказывание проблем. однако ctrl-a и Del я юзать не буду )). насчет ADIN эт у меня в голове после Упячки и Отаке.ру осталось.
Насчет копипаста них*я! все писал сам и куски кода брал из своих старых проектов
А зах камера должна наследоваться от ентити ?
насчет нагрузки на проц - я просто торопился и на оптимизацию пока Х положил. Но обязательно буду оптимизировать! Начну пожалуй с матриц которые в цикле рассчитываются ))) имо это есть предел тупости
11 пункт - гыыы смотри как двиг называется SimpleGraphicsEngine (простейший графический движок )
а вот с 12-ым пунктом мне вообще пох! я для винды пишу двиг а не для UNIX систем
Загрузка других форматов как раз при такой структуре будет удобной. Единственное на чем запарка будет очень долгая и нудная это на оптимизации
__________________
|
(Offline)
|
|
08.10.2009, 17:15
|
#14
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: SimpleGraphicsEngine 0.1b
В любом случае, надо вырабатывать стиль кода нормальный (отдельные места в коде радуют, но в целом каша из разных стилей). Камера наследуется от ентити затем чтобы был единый интерфейс ко всем сущностям сцены (камера ведь такая же сущность, она так же перемещается и т.п., просто она несет свои функции дополнительно).
11 пункт - гыыы смотри как двиг называется SimpleGraphicsEngine (простейший графический движок )
|
Тем не менее. Движок это движок, а ты пока обернул часть ДХ функционала. Практической пользы это не несет.
а вот с 12-ым пунктом мне вообще пох! я для винды пишу двиг а не для UNIX систем
|
Я не говорил про никс системы. Если быть объективным - нахрен там движки не нужны никому. Однако со временем появится желание запилить ДХ11, а может на мобильные платформы портануть, а может на консольки. А нихрена и не выйдет без тотального переписывания кода.
В общем и целом - для начала выбрось D3DX меши, делай свои сюрфейсы, меши, загрузчики свои напиши для каких-нить форматов (если возьмешься за B3D очень НЕ рекомендую брать спецификацию на русском из Blitz Et Cetera, там сплошняком ошибки и неточности, лучше с офсайта слить английский). И подумай о графе сцены.
|
(Offline)
|
|
08.10.2009, 17:24
|
#15
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: SimpleGraphicsEngine 0.1b
а какие моменты оптимизации можешь посоветовать? или ссыль кинь если знаешь
*.b3d меня не особо радует своей ущербностью )) впрочем как и 3ds. а придумывать свой формат это расточительно, хотя может будет и компактнее и проще. в общем если так рассуждать - то чё я нуб чтоле в программинге?
__________________
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:16.
|