20 Мая 2024, 07:22:17
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > [SDK] второе дыхание
[SDK] второе дыхание
(Прочитано 15017 раз)
  [1] 2
Печать
Sqwer | ***** | Ветеран | Сообщений: 540 | « 09 Января 2011, 17:13:32 »
[SDK] второе дыхание |
0
Цитировать
они доведут это дело до ума и будут продавать как виик.

Смысла делать что-то для Квеста нет. ОН безбожно тупой и тормознутый.

Покапался в СДК, примерно понял структуру этого движка.

Как уже знаете, ядро определяет   каналы.

Каналы - объекты определённого класса.

Базовый класс подовляющего числа каналов  Aco_Chanel.

От него наследуется функция CallChanel()  или переопределяется в потомке   И  метод "вернуть указатель на потомка". 
Самое главное,  что  в каналах есть избыточная проверка  типов, значений.  (это сделано для художников, чтоб они  случайно не подключили то, что нельзя подключать;  идёт проверка на значения..  и тому подобное)
всё это по чуть-чуть сжирает FPS  В замешательстве

Моглиб сделать  что-то типа разделения редакций каналов:

с проверками на исключительные ситуации , которые  активны в режиме КвестЭдитора

и без проверок  в режиме  ГотовыйСкомпилированныйПродукт

(до конца не уверен, что такого нет...  но  икакой документации нам не дают)...


И ещё однапроблема:
чёрт с ними с этими  стандартными каналами, всё можно свести  к  вызову 2ух каналов:  StartChanel  -> YouChanel  Смеющийся

Я уже  так  и собирался сделать, НО!!!  тут меня сильно обломали

Кажется этот канал (StartChanel)   перехватывает  событие ДХ9  о потери устройства и автоматом  реситит Д9 девайс. И все  мои текстуры  нужно перезагружать.  Но как я пойму  "когда это сделать?", если   квест сам  ресетит девайс.

по сути   есть в  СДК  класс   "ПОЛЬЗОВАТЕЛЬ ДХ",  у которого есть  базовый метод "выполнить логику если  ДХ9 ресетнули", которая по логике вещей должна вызываться автоматом ядром движка.  Мои всевозможные опыты  доказывают, что не работает этот метод.  Плачущий
На оффе молчат , хотя  проблему адресовали  самому Ремке Якобсу.



Все уповают на появление Квеста 5,0 , но чуда не будет. Квест останется таким же бажным  медленным двигом.

И на этом ЖИРНАЯ точка.
« Последнее редактирование: 09 Января 2011, 17:35:54 от Sqwer »
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #1 09 Января 2011, 18:27:08 »
Differed |
1
Все знают, что редактор Квеста убогий!
Но это по сути мелочь. Мы написали свой экспортер из макса (то есть при построении сцены, полностью используем редактор макса)
В самом максе на модели накидывается собственный шейдер, при экспорте учитываются все параметры и текстуры этого шейдера, также учитываются instans материалов и объектов.
То есть объекты во вьюпорте макса выглядят так, как будут выгладить в движке (альбедо, нормал, спекуляр, отражения кубмапы) по нажатию кнопки экспорт, вся сцена сохраняется в собственном формате
Замучили SDK, что бы грузить все ресурсы собственного формата.. все отлично, все работает!
В планах было кроме канала загрузки ресурсов, написать канал собственного рендера, который работал бы очень быстро, в нем был бы зашит и фрустум..  можно было бы делать нормальный hardware instancing, на базе которого можно было бы делать свою траву, деревья, сетить много сотен источников света, и так далее..
НО столкнулись с проблемой, о которой выше написал Sqwer и эта неприятность, перечеркивает все благие начинания.
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #2 09 Января 2011, 20:24:31 »
Differed |
2
Печально Обеспокоенный
Какие будут пути отхода? Может быть XNA?
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #3 09 Января 2011, 20:40:41 »
Differed |
3
Цитировать
Какие будут пути отхода?

У нас с Русланом свой двиг на DX10 , активно использующий:
 1) возможности DX10 по максимуму (геометрические шейдеры, рендер в кубу за 1 проход, полноценный (асинхронный по отношению к CPU) оклюжен квери и куча всего вкусного   , что есть на 10 директе  Крутой);
 2) D3DX (не всёж руками писать  Смеющийся) ;
 3) STL (пусть нас будут ругать бородатые кодеры 90ых, но СТЛ не так и медленнен , если его  уметь применять  Подмигивающий)

Цитировать
Может быть XNA?

Луч свой двиг на С++.
С++ учится быстро, а ХНА  требует .NET языка.
С# сложен в освоении, но лёгок в применении.
С++  обатно С#.

С хной  будут проблемы ресурсов, т.к.  он их прекомпилит.
Вторая проблема ХНЫ  -  как то вяло  продвигается, ДХ10 так и не выпустили .
Третья - изходит  от проблем с "чисткой мусора", присущей всем .NET   программам.

Но в любом случае,  заказчики определяют средство разработки.  Всё зависит от PR ,  И квест тому - яркий пример. Он уже прилично уступает  по всем параметрам другим движкам, но из-за  промо   всё ещё остаётся популярным.


Лично по моему мнению набор D3DX - и есть конструктор не хуже квестового.
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #4 09 Января 2011, 22:11:57 »
Differed |
4
Не вижу никакой популярности квеста (если ввести "quest3d" в поисковик, то выдаст 1-офф сайт, 2 - наш форум, остальное - варз ресурсы и ГС на юкозе)
С чего посоветуешь начать одинокому любителю Real-Time технологий уходя от квеста? Направление деятельности - архвиз+интерактив.
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #5 09 Января 2011, 22:26:36 »
Differed |
5
Цитировать
С чего посоветуешь начать одинокому любителю Real-Time технологий уходя от квеста?
вот это в закладки добавить http://www.gamedev.ru/

лучше формировать своё мнение , чем навязывать.
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #6 10 Января 2011, 05:07:39 »
Differed |
6
Таки удалось обмануть квест.  Веселый

Ниже скрин -  собственный рендер.

От квеста взято  только окно  и  ДХустройство.  Крутой

Таким образом, можно на квесте достичь   хорошей производительности, хотя и квестом это уже не назовёшь  Смеющийся

* yes.jpg (152.43 Кб, 1280x1024 - просмотрено 1374 раз.)
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #7 10 Января 2011, 05:53:09 »
Differed |
7
хе хе
Походу теперь открылись следующие перспективы:
- можно сетить столько источников света, пока не закончатся регистры на SM 3, т.е. до опы.
- hardware instancing (свои частицы, трава, деревья)
- отпала потребность в Квестовом ОО (можно в своем канале полноценно кодить используя ОО С++ )
- добротный экспорт из макса, при этом 3dMax это полноценный редактор.
- отпала необходимость в глобал шейде, так как можно теперь напрямую сетить шейдера, текстуры, и все пораметры для шейдера.
- STL
- максимально быстрый рендеринг, без каких либо ограничений
- библиотека  D3DX (одно из самых полезных в ней это математическая библиотека оптимальная, с поддержкой SSE, кстати и работа с квантерионами)
- сторонние библиотеки GUI, например можно попробовать заиспользовать вот эту:
Gallery
CeGUI
CeGUI youtube

и т.д.  Веселый

http://www.youtube.com/watch?v=sALiuWg_I1k
 Смеющийся
« Последнее редактирование: 10 Января 2011, 21:51:12 от Ruslan »
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #8 10 Января 2011, 08:56:58 »
Differed |
8
Ребята, поделитесь экспортером Улыбающийся Либо сделайте ресурс на котором будете продавать свои разработки и плагины
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #9 10 Января 2011, 16:34:09 »
Re: [SDK] второе дыхание |
9
Alteste
Цитировать
Ребята, поделитесь экспортером. 
формат закрыт и зашифрован - по сути это и есть та защита, которую невозможно взломать. (.exe  ломануть  можно)
и по сути предназначается для другого движка NME. Этот формат -  не Коллада, и по сему   информация в нём  строго определённая , именно под рендер и  иерархию.


Цитировать
Либо сделайте ресурс на котором будете продавать свои разработки и плагины
Если найдуться желающие приобрести, - по чему бы и нет.

Но не стоит забывать, что ДХ9 всё же  технология 10тилетней давности  ,а кол-во обладателей   программно-аппаратных  средств с поддержкой ДХ10-11   уже   больше 75%. Квесту не долго осталось.
Политику  разработчиков я не совсем понимаю. И без того  малый штат , а распылились на 2 проекта  Квест и СлайХ(Люмион). Продвижение новых технологий: многопоток, переход на ДХ10, новые 64_бит либы  довольно болезнены,  боюсь  разрабы просто не потянут.  Обеспокоенный
« Последнее редактирование: 10 Января 2011, 16:42:32 от Sqwer »
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #10 10 Января 2011, 20:32:51 »
Re: [SDK] второе дыхание |
10
Напрашивается вывод: нужно активно учить С++ и API DirectX
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #11 13 Января 2011, 14:50:36 »
Re: [SDK] второе дыхание |
11
Ура!!!
на офе ответили на вопрос
проверили, все работает как нужно!

http://forum.quest3d.com/index.php?topic=69784.new
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #12 13 Января 2011, 15:25:48 »
Re: [SDK] второе дыхание |
12
Так работает это в самом квесте то со стандартными каналами?
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #13 13 Января 2011, 15:34:53 »
Re: [SDK] второе дыхание |
13
Да, работает со стандартными каналами, но главная идея в том, что бы сделать свои каналы для загрузки ресурсов и их рендеринга.
В итоге, в одном канале, напрямую можно сетить шейдера, вертексные буфера, текстуры, организовать внутри канала цикл для рендеринга геометрии, делать проверку на невидимость, и много, много всего, оооочень быстро!
+ добавить пару каналов, для того что бы обмениватся ресурсами со стандартными каналами, тогда возможно использовать как свои ресурсы, так и стандартные!
То есть, можно использовать на прямую DX9 без каких либо ограничений!

Хорошо, что не повелись на Unity, там такое и не снилось..
« Последнее редактирование: 13 Января 2011, 15:43:05 от Ruslan »
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #14 17 Января 2011, 13:40:08 »
Re: [SDK] второе дыхание |
14
почитал ваши темы на офф форуме... это ужос
ребята, начните с изучения английского
"the team should be called" даже меня заставило задуматься на пару минут, что же это может значить
но уж они то там никак не могут знать что team(команда/группа людей, напр. футбольная команда) на русский переводиться так же как и command(команда/приказ к исполнению)
а в этом случае подошло бы и банальное function/method
да и вообще англоязычных источников информации гораздо больше, и среди них практически всегда можно найти более качественные чем русскоязычные

второе, берегите нервы, не надо закатывать панику каждый раз как у вас что-то с ходу не получилось
к любой проблеме подходите с бульдожьей уверенностью, что решение существует
 
  [1] 2
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > [SDK] второе дыхание
Перейти в: