Навигация по форуму
|
|
Просмотр сообщений
|
[1] 2 3 ... 20
|
1 |
Guest3D / Работа сайта и форума / Re: тихо : 09 Сентября 2011, 14:29:32
| вроде бы есть бета пятого квеста "i have beta of q3d 5 it has now also a framework which is used in Lumion" хз мб это уже и не новость, просто я не слежу за этим) |
2 |
Quest3D / Программирование / Re: Движок на Квесте. : 15 Августа 2011, 00:40:25
| да, полупрозрачные потом рендерятся отдельно как ты и описал
двунаправленность связей между структурами это не какой то универсальный критерий правильности/неправильности или чего-то такого, просто иногда это надо, а иногда нет. Дерево нодов у меня двунаправленное, связь между нодами и сюрфейсами тоже, а вот связь между сюрфесами и материалами -- нет. И проблемы как ты описал при удалении эффекта у меня нет, не могу представить зачем вообще может понадобится его удалить.
и насколько я понимаю теорию отрисовки с отдельным рендером глубины, то нужно сначала сделать рендер глубины _всем_ эффектам, а потом нормал рендер _всем_ эффектам, не? |
3 |
Quest3D / Программирование / Re: Движок на Квесте. : 14 Августа 2011, 02:08:19
| разнообразия материалов действительно нет, хотя это не из-за каких то технических ограничений, просто пока небыло необходимости. Но я уже задумывался над этим и шейдер менеджер уже подготовлен для рендера с использованием нескольких разных шейдеров. На данный момент проблема с импортом сложных материалов, пока есть мысль делать сопутствующую DAE файлу XML со всякой такой информацией, и редактор всего этого дела. Т.е на этапе импорта будет выбираться шейдер для каждого материала и набор параметров для шейдера, далее во время рендера все сюрфейсы которые надо отрендерить будут добавлять себя в список который относится к шейдеру их материала и потом уже шейдер менеджер будет перебирать все шейдеры у которых есть не пустой список сюрфейсов и рендерить их, каждый шейдер будет устанавливаться по одному разу. В общих чертах так
Менеджеры так, + у них ещё какие то дополнительные сервисные функции
Не знаю что такое бэквард визинг)) у меня в фреймворке не удаляются объекты, и не подгружаются на лету -- не было необходимости. Соответственно и многопоточной загрузки тоже нет. Но если б и было удаление то структуру с описанием параметров я бы удалял, а вот текстурки нет. Ну и мне кажется я не совсем понимаю что такое эффеект в твоём описании
Визуального редактора в составе фреймворка нет, хотя для последнего проекта делался, но не мной, и он слишком специфичный чтоб попасть в фреймворк
Разница между аппликейшен и лайбрари по сути в том будет ли этот компонент использоваться в других проектах или нет. Какие то захардкоденые данные по моему в лайбрари попасть не должны никак) |
4 |
Quest3D / Программирование / Re: Движок на Квесте. : 12 Августа 2011, 23:18:26
| я создавал, мы его правда фреймворком называем он весь сделан с использованием квестового ОО, хз будет ли тебе интересна такая архитектура
есть 3 основных категории кода: Core, Library, Application
Ядро это набор менеджеров без которых ничё по сути не работает - конфиг менеджер, камера менеджер, лоадинг менеджер(лоадинг моделек), текстуре менеджер, шейдер менеджер и т.д Также там живут functions - это набор класиков облегчающих жизнь при программировании, например стек, сортированый список, хмл ридер/вритер Библиотека это набор менеджеров использование которых не обязательно, но удобно иметь какие то заготовки. Это например WeatherManager, шедоумап, набор разных камер и разных дефолтных классов обжектов Апликейшен это набор разных компонентов специфических для приложения в котором используется фреймворк, если какой то компонент начинает использоваться повторно в других проектах то он обычно тоже попадает в лайбрари.
Модельки у меня импортятся в виде списка нодов, списка сюрфейсов и списка материалов. Нод это имя + матрица + список дочерних сюрфейсов. Сюрфейс это 3дОбжектДата + текстура + ссылка на материал. Эта инфа хранится в базовых интерфейсах нода и сюрфейса, но класс сюрфейса обычно включает в себя несколько ещё допонительных интерфейсов, например NewtonBody(по обжект дате сюрфейса генерит колижен обжект), MouseOverListener(проверяет пересечение луча мыщки с обжект датой и потом инпут менеджер выбирает ближайший листенер)
ещё много чё можно написать, но мб меня не в ту степь несёт, задавай вопросы |
10 |
Quest3D / Программирование / Re: OO Member type: channel - как с ним работать : 30 Мая 2011, 15:16:07
| Если речь идет только о 3DObjectData, то этот канал легко копируется в другой 3D_OD при помощи Command_new_interface (misc/add object data)
плюсую, это проверенный и надёжный способ копирование через буфер не рекомендую так как может привести к неожиданным багам при копировании обычного ченела в мембер ОО интерфейса или наоборот
еще раз спасибо, понятно, что многое мне еще не ведомо )))
А можно как нибудь получить просто некую ссылку на канал, а её уже в массив и с через неё работать? это был бы самый тот вариант.
поидее это можно сделать через квестовые арреи, но все равно метод этот сложен для понимания мозгом, и тебе нужно где-то хранить экземпляры, и если ты хочешь добавлять новые экземпляры динамически(а для нормальных тасков это обычно необходимо) то с этим возникнет ещё больше проблем. я рекомендую воспользоваться квестовым ОО, только ты будешь хранить не сами экземпляры ченелов и ссылки на них а экземпляры классов и ссылки на них, а вот у классов уже мемберами будут описаны твои ченелы. Работая с ОО у тебя будет возможность добавлять динамически новые экземпляры, создавать списки указателей, хранить "единичный" указатель |
12 |
Quest3D / Общие вопросы / Re: Проблемы с подключением базы MySQL : 04 Марта 2011, 17:52:20
| помню в квесте версии 4.2 действительно была проблема с версией сервера, квестовый драйвер работал только с мускулом версий 4.х и вот я не помню как мы это решали, толи действительно старую версию ставили толи в настройках базы меняли способ авторизации на более старый
исправляли ли это в квесте 4.3 или 4.3.2 не знаю |
14 |
Quest3D / Общие вопросы / Re: Шустрый там где не надо : 24 Февраля 2011, 16:13:15
| в экспрешен валуе существует глюк, операция умножения почему то всегда приоритетнее операции деления 100/10*10 == 1 получается ты в своей формуле OLD+A/10000*TC не умножаешь на тик каунт а делишь, отсюда и глюки все поменяй на OLD+(A/10000)*TC или OLD+A*TC/10000
ну и скорее всего тебе там надо будет поменять ту константу на которую ты делишь с 10000 на что-нибудь порядка 100, чтоб оно работало так как ты ожидаешь  |
|