Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 05.05.2009, 20:45   #61
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Enesea

Ну да какбы.. Но сам факт потдержки рендера в текстуру на дх есть, а на огл нету может там всёже есть какой-то способ?
(Offline)
 
Ответить с цитированием
Старый 20.05.2009, 22:40   #62
jimon
 
Сообщений: n/a
Ответ: Enesea

у меня тут пока учёба очень много времени отбирает, медленно но уверено движок портируется под линукс, сейчас все подсистемы движка работают (но пока не работают боковые кнопки мышки, не работает vsync и установка частоты монитора, не работает msaa, не работает изменение размера окна в fullscreen, не работает showcursor) и двиг уже сейчас держит много-оконный рендер ^_^

очень большой неожиданостью оказалось что wchar_t под линуксом имеет размер 32 бита (для справки - wchar_t это wide character тип, используется для unicode-строк, под windows он занимает 16 бит) пришлось жостко ограничить его размер в движке до 16 бит для всех платформ (у меня от его 16-битности очень-очень многое зависит)

таскать с собой зависимости под линуксом намного удобнее ^_^

после окончания портирования займусь за полное переписование системы материалов, система cgfx оказалось жудко тормозной, думаю писать свой run-time код управления шейдерами, но для компиляции использовать CG, таким образом избегаем зависимости от рендера

ps. если будет время и не будет таких "неожиданостей", то вполне возможно портировать двиг под mac os x (внутри двига всего на всего надо добавить два класса и добавить мелкое изменение в еще два)

ps2. squall есть только под виндой, думаю использовать fmod
Миниатюры
Нажмите на изображение для увеличения
Название: enesea_revision_4.jpg
Просмотров: 1137
Размер:	324.1 Кб
ID:	6078  

Последний раз редактировалось jimon, 20.05.2009 в 22:53.
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо за это полезное сообщение:
impersonalis (20.05.2009), moka (24.05.2009), Program23 (27.07.2009), Randomize (06.07.2009)
Старый 26.05.2009, 18:36   #63
jimon
 
Сообщений: n/a
Ответ: Enesea

провожу сферические тесты в вакууме, рендер сильно ускорил по-сравнению со старым кодом (раз в 8-12, ибо некоторые вещи безбожно тормозили)

а теперь интересные картинки :
http://dump.jimon.org/enesea_revision6.jpg
http://dump.jimon.org/enesea_revision7.jpg

одинаковая сцена, одинаковый код (почти, версии отличаются только парой вещей которые не влияют на рендер) и что мы тут видим ?
скорость батчей разная - под линуксом это 0.5 мс, под виндой это 0.15 мс
драйвера почти одинаковые (может в этом проблема)

ps. фрустума и сортировки по-материалам нету, альфа сортировка включена, в сцене 441 куб и одна b3d модель (ну плюс линии дебага которых не видно и квад)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (27.05.2009)
Старый 02.07.2009, 01:06   #64
jimon
 
Сообщений: n/a
Ответ: Enesea

работа понемногу начинает идти, почти закончил deferred shading, но для качественого внедрения его, необходимо еще много чего написать

и так разметка G-Buffer'а

в подальшем думаю изменить R32F для глубины на R24_G8 чтобы добавить stencil

из плюсов реализации вижу то что позиция востанавливается из экранной глубины, те DS использует один Z-Buffer
Миниатюры
Нажмите на изображение для увеличения
Название: enesea_ds3.png
Просмотров: 1066
Размер:	326.5 Кб
ID:	6441  
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
falcon (03.07.2009), Nex (03.07.2009), Tadeus (02.07.2009)
Старый 31.07.2009, 19:25   #65
jimon
 
Сообщений: n/a
Ответ: Enesea

базовый deferred shading готов и уже лежит в ядре
разметка G-Buffer'а не менялась, разве что вместо RG16F может использоватся RGBA8 в ущерб качеству
но нужна оптимизация, 100 источников света на одной сфере дают 30 фпс без оптимизации, и 180 фпс с читерским костылём

сейчас в движке полное соответствие форвард контексту OpenGL 3.1, в прочем планируется 4 режима :
1) Legacy OpenGL (1.1), запустится даже если драйвера не установлены, но без всяких эффектов, освещения и тд
2) OpenGL 1.4, работа на ARB шейдерах, вполне должно хватить для форвард освещения
3) OpenGL 2.1, в общем тут полный функционал, используется GLSL 1.20
4) OpenGL 3.1, от 2.1 слабо чем отличается, используется GLSL 1.40

готов normal mapping, в ядро его вставлять смысла нету, ибо такой эффект уже делается только прибегая к изменению базы данных

ps. тут нету спекуляра, ибо он для этой модели как-то хитро считается
Миниатюры
Нажмите на изображение для увеличения
Название: enesea_ds_work.jpg
Просмотров: 1062
Размер:	152.2 Кб
ID:	6912  
 
Ответить с цитированием
Старый 31.07.2009, 20:06   #66
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Enesea

jimon
Что насчет OpenGL ES ?
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Старый 31.07.2009, 20:11   #67
jimon
 
Сообщений: n/a
Ответ: Enesea

FDsagizi
в принципе заставить работать можно но у меня нету устройств чтобы тестить
 
Ответить с цитированием
Старый 05.08.2009, 13:58   #68
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Enesea

Сообщение от jimon Посмотреть сообщение
FDsagizi
в принципе заставить работать можно но у меня нету устройств чтобы тестить
В пакете с iPhone SDK идет имулятор.
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Старый 16.08.2009, 21:25   #69
jimon
 
Сообщений: n/a
Ответ: Enesea

потихоньку вожусь :
1) востановил фрустум куллинг (он вырезан был )
2) привязал к деферреду MSAA рендер буферы, но они дают некоторую погрешность, в принципе движок уже умеет рисовать с MSAA текстурами, но я не понял как с ними сделать рендер деферреда в другую MSAA текстуру
3) добавил глобальные шейдерные техники, в движке каждый шейдер должен иметь пару макросов, которые потом изменяются и шейдер перекомпилируется, нужно это для многопроходного рендера, к примеру ставим технику в рендер нормалей и делаем проход нормалей, ставим технику в рендер цвета - рендерим цвет и тд и всё это без изменения начальных шейдеров
4) добавил режимы совместимости, работают OpenGL 1.1,2.1,3.0,3.1,3.2
5) внедрил шрифты, написал ресурс шрифтов, подключил FreeType2, дописал битмап шрифты в Enesea Data Format, разбирался с типографикой

и вот результат разбирательства :

может я упустил что-то ?
конечно это самый простой рендер битмап шрифтов, нету поддержки под и надстрочных надписей и прочих извращений

ps. вот тут более очевидный пример кернинга

как видим буква 'e' немного заежает в область буквы 'T'

Последний раз редактировалось jimon, 16.08.2009 в 21:35.
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
G.A.D (13.12.2009), h1dd3n (17.08.2009), impersonalis (16.08.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:13.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com