forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   Sigel (http://forum.boolean.name/showthread.php?t=4960)

HolyDel 18.03.2009 02:07

Ответ: Sigel
 
Цитата:

Сообщение от impersonalis (Сообщение 100966)
у меня с мрт ассоциируется только "магнитно-резонансная томография", подскажите что курить.

я вот это курил:
http://steps3d.narod.ru/tutorials/mrt-tutorial.html

на самом деле замечательнейшая фича, наряду с float текстурами, rect текстурами и r2vb (рендер в вершинный буфер). так фактически можно на гпу делать что угодно.

у меня в движке это выглядит так:
Код:

somefbo->BindTexture(tex1,0);
somefbo->BindTexture(tex2,1);
somefbo->BindTexture(tex3,2);

где второй параметр - это "слой" к которому привязывается текстура.

а в шейдере запись пикселя будет уже не
Код:

gl_FragColor = bla_bla_bla;
а как то так:
Код:

gl_FrafData[0] = color1;
gl_FrafData[1] = color2;
gl_FrafData[2] = color3;

соотвественно после его работы в tex1 запишется color1, в tex2 - color2, а tex3 - color3. и все это за ОДИН проход :)

HolyDel 18.03.2009 03:13

Ответ: Sigel
 
Вложений: 2
ввел систему сбора статистики (отдельное спасибо MoKe, за то что навел на мысль).
Она прям сразу оказалась куда полезнее чем я думал.
На данный момент в статистику пишется число переключений текстур и шейдеров.
Как оказалось, у меня в двиге шейдера переключались даже в том случае, если они не менялись! Т.е тысячу моделей рендерим с одним шейдером - 1000 раз переключается.
Исправление этого бага в частности позволило чучуть ускорить вывод мд2 моделей.
В архиве старая версия, новая версия и блицовая версия.

Скажите плиз, есть ли изминения в плане производительности? Сравните старую и новую версию в F3 режиме (этот режим активен по умолчанию).
F1 - софтварный метод
F2 - без интерполяции.

во второй демке просто жмите пробел - скажите как меняется фпс (до_пробела/после_пробела). Такая уже была, но от нее мало толку было. шейдера то все равно переключались на уровне ГАПИ (на уровне драйвера наверно не, так как все равно немного ускорялось).
такие дела.

-=Jack=- 18.03.2009 09:35

Ответ: Sigel
 
Новая:
F1 - 24
F2 - 244
F3 - 240
Старая:
F1 - 22
F2 - 210
F3 - 48

*когда включаю старую, почемуто начинает лагать Aimp...

Вторая: 120-160(шейдеров не видно)

HolyDel 18.03.2009 12:55

Ответ: Sigel
 
Вложений: 1
ага. в старой был тпакой глюк.
-=Jack=-, у тебя же АТИ. скажи, третий режим (F3) у тебя сглаживается? Или рывками?

Цитата:

Вторая: 120-160(шейдеров не видно)
у меня на ати с 20-24 до 170-180. но ето довольно сильная видюшка и довольно слабый проц. шейдера там простые в хлам, поэтому их и не видно.
на буке с встроенной нвидиа - с 75-80 до тех же 170-180. но ето относительно слабая видюха и довольно мощный проц.

dimanche13 18.03.2009 14:27

Ответ: Sigel
 
какая сейчас текущая версия движка? я смотрю пока по тестам опережает все с чем удалось потестить, респект. Документацию будешь ли делать, когда. примерный процент готовности, тоже напиши

HolyDel 18.03.2009 14:47

Ответ: Sigel
 
Код:

какая сейчас текущая версия движка?
версию пока не проставляю. Нужно сделать следуещее, до того как можно будет нумеровать версии:
Код:

0) экспорт\импорт бинарного формата 3д моделей ...done
1) человеческий parent - child, пока он кривой. совсем кривой.
2) скелетная анимация ...done
3) всякие PointEntity, DeltaYaw и прочие
4) наладить ландшафт. я его сломал и он не работает.
5) прикрутить простейшие менеджеры на текстуры как минимум чтобы не захламлять видеопамять, хотя и на другие ресурсы было бы неплохл ...done
6) сделать jpg загрузчик нормальным, а нечерез OLE как сейчас, а то под вайном на убунте не работает (другие текстуры грузятся)
7) внести в ядро загрузчик png (нужный формат)
8) сделать Sigel Standart Shader Libriary. Набор стандартных\системных шейдеров. Они будут "вшиты" в ексешник скорее всего. И тогда такие шейдеры можно будет создать прямо из ядра, а не грузить из файлов.
как то так:
Shader *bump_shader = SSSL::Creata("Bump");
Shader *theora_shader = SSSL::Creata("Theora");
Shader *md2_shader = SSSL::Creata("Md2");

Цитата:

я смотрю пока по тестам опережает все с чем удалось потестить, респект.
мало тестов. обязательно найдутся и в сижеле слабые места в плане производительности. я уже одно нашел - создание \ удаление объектов медленное.

Цитата:

Документацию будешь ли делать, когда.
я как то начинал. пока там правда только раздел TFont более менее готов.
http://sigel.likosoft.ru/help
пока не вижу необходимости в справке. + сам по себе двиг не слишком сложный, посложне блица и хорса к примеру, но зато куда проще огра или того-же иррлихта.
смотрите раздел Samples в справке.

Цитата:

примерный процент готовности, тоже напиши
не могу оценить. ибо цели как таковой нету (типа сделать то-то и то-то и то-то, а потом смотреть что сделано, а что нет и так выводить процент).
Думаю сам двиг готов процентов на 7-10 в плане законченности.
Выполню список выше - прибавлю еще 5. причем из того списка самое важное (и самое сложное) - это первые 3 пункта (0..2)

-=Jack=- 18.03.2009 20:00

Ответ: Sigel
 
Цитата:

Сообщение от HolyDel (Сообщение 100984)
третий режим (F3) у тебя сглаживается?

Да..

HolyDel 18.03.2009 20:02

Ответ: Sigel
 
ну слава богу. а у блица сколько фпс было? там есть версия в комплекте.

-=Jack=- 18.03.2009 20:48

Ответ: Sigel
 
По старому, 3 фпс.

FDsagizi 19.03.2009 09:56

Ответ: Sigel
 
Цитата:

0) экспорт\импорт бинарного формата 3д моделей
Можешь по началу написать загрузчик .obj - он прост до ужоса!

Хотя как не крути, а свой экспортер писать предеться! ну и сответственно свой формат моделек. Хотя это не очень трудная задача =)
Если будешь писать экспортер под макс, делай так, чтобы он экспортил с максемально возожной скоростью!!!

Ибо сечас юзаю огр, и тут есть 2 экспортера вменяемых, так один может несколько тысяч материалов + сотня тысяц полигонов экспотрнуть за 1-2 секунды, а второй пыхтит на этом же около минуты двух!

jimon 19.03.2009 10:45

Ответ: Sigel
 
FDsagizi
тысячу материалов не потянет толком не один двиг, тебе оно надо ?

HolyDel 19.03.2009 20:00

Ответ: Sigel
 
мой нынешний експортер експортит несколько минут тупую геометрию в 10к поликов.
такие дела.

думаю бинарный будет побыстрее.

HolyDel 20.03.2009 02:11

Ответ: Sigel
 
Вложений: 1
сделал конвертор s3m файлов в sbs (sigel binary surface).
конвертит относительно долго (ибо еще и оптимизирует индексы) но зато sbs файлы грузятся куда быстрее s3m (на больших моделях они грузятся быстрее в 100-200 раз).
и весят меньше.

0-й пункт из списка выше готов.

ABTOMAT 20.03.2009 02:21

Ответ: Sigel
 
хехе, сразу надо было делать кошерный формат ;)

HolyDel 20.03.2009 02:36

Ответ: Sigel
 
да я впервые в столь долгую загрузку уперся на прошлой деме. вот и пришлось писать. а так и текстовый вполне устраивал.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot