{{notification.text}}

MirGames

Xander

Хабаровск
Зарегистрирован 13.05.05 11:48
Последний раз был в сети 02.02.19 10:33
Стенсильные тени
04.04.08 08:58
О, Боже, Said, я еле здерживаюсь! И я с тобой полностью согласен, если бы не одно но... Было бы больше уваженения, а не
Цитата
Так что не надо уже там что то гнать про FBO и т.д.

Если бы он хоть не был таким наивным и грубым, и не пытался бы убедить меня что он 100% прав, я бы ничего плохо не сказал... но... С возрастом, конечно, это все проходит, подростет, опыта поднаберется, тогда будет все по-другому...

Цитата
Петя же не из тех кто будет тебе при 100% неправоте доказывать что "сам дурак"

Не знаю, по этому поводу у меня большие сомнения...

Цитата
Я говорю о том, что image-based техники дают результат лучше, чем аналитические. Если тебя не затруднит несколько раз щелкнуть мышкой, и открыть любую демку, то посмотри пожалуйста на тени буферные, стенсильные и на FPS. Посмотри на различные техники...

Ы? Причем здесь тени? :D. Я тебе конкретно, про FBO, а ты мне про тени, боже ж ты мой...
И даже если тебе так хочется про тени, аналитические всегда дают лучший результат, они геометрически точные, с penumbra вообще слюнки бегут...
FPS да, но если руки растут откуда нужно, фпс можно до хорошего уровня поднять...
Ты вот возьми любое демо с image-based тенями, и посвети источником в морду, и посмотри, какая красивая получится картинка ;)
И вообще о вкусах не спорят... каждому свое...
Цитата
Я вижу демки, которые работыют нормально, а не сделаны через одно место, а это говорит о том, что карты нормально всё поддерживают

Ты вообще понимаешь что я пишу? Вот причем здесь "Я сейчас запускаю демки"?
Карты все нормально поддерживают, да, кто с этим спорит?
Но глючные Айтишные драйвера, вносят свою лепту...
Видишь, что я писал:
Цитата
В новых версиях оно правда поправлено

Цитата
FBO имеет место глючит на определенных версиях драйверов...

Если ты не "попал" под эти драйвера, то мои поздравления, а обязательно попадеться народ с такими, у которого твоя поделка работать не будет...

Цитата
Не понял? Если в видеодрайвере не работает FBO, то что? Это значит, что есть компонент игрухи, который исправляет дыру в драйвере, что бы не глючила, так? =) И поэтому игры запускаются нормально, а твои творения-нет? =)

Понимаешь что говоришь?
Это лечится исправленными драйверами, и повторюсь 3ий раз - альтернативой FBO - PBuffer'om

Цитата
Мало того, игры (нормальные) работают как раз-таки на различных конфигурациях.

Мало того игры сейчас пишутся на Dx, там таких проблем нет...

petyakurochkin
Не хочеться, грубить и оскорблять друг друга, нужно с этим прекращать... Если ты так не прислушиваешься к моим словам, и тебе кажется я не прав, твое дело... Сходи, на геймдев, почитай форум, посмотри с какими проблемами сталкивались люди... Многие вопросы отпадут сами собой... Нужно быть немного гуманнее...

P.S. И вообще все это полный оффтоп :)

Said: Опа... я и не заметил. Да, согласен, Петя поступил некорректно.
End offtop. Close.

Стенсильные тени
03.04.08 22:56
petyakurochkin
Не пори чушь, ладно?
И причем здесь старые дрова?
Какие нафиг текстуры получше?
Я вижу ты совсем не в теме... Ты хотя бы знаешь что есть это FBO, и какие проблемы были, когда АТИ только внедряло его поддержку в свои драйвера? Первый раз слышишь видимо...

Я уже говорил, что рендер в текстуру можно сделать и через PBuffer, оно на виндах работает безотказно, это как запасная альтернатива FBO, И имей ввиду, что все это относится к OGL API, а не к DX...

И если бы ты хотя бы, что нибудь свое(с FBO) пытался запустить на различных конфигурациях, а не молол чепуху в роде "а у меня все игры работают", то то бы в скором времени узнал, что FBO имеет место глючит на определенных версиях драйверов...

Вообщем учи матчасть...

Said: А еще у Пети девушка есть... ^_^
Это я к слову что "учи матчасть" практически осокрбление ;) Зачем тогда общаца на форуме, если вы на незнания человека реагируете "фу, ламерье?" Ну незнал человек что-то, ну ляпнул. Но ведь его можно было бы просто поправить и объяснить где он не прав.
Петя же не из тех кто будет тебе при 100% неправоте доказывать что "сам дурак" ;).
Стенсильные тени
03.04.08 22:40
petyakurochkin
Ты, видимо, не в курсе... и причем здесь какие то проги? И рендер в текстуру с ними же? Рендер в текстуру можно и через PBuffer делать...
Или ты первый раз слышишь о FBO глюках у ATI? Если это так, то мне тебя жаль...
В новых версиях оно правда поправлено, но Атишные дрова всегда славились своей глючностью.. И мне это не по наслышке знакомо..

P.S. Сейчас конечно они кое чего уже поправили, но в любом найдутся люди, у которых будут стоять кривые драйвера, и пока, с этим мало чего можно сделать...
Стенсильные тени
03.04.08 21:11
petyakurochkin
И то... Что на Ati картах PBO глючит похлеще FBO, сейчас может уже дрова айтишники подправили, незнаю, но когда я с ним работал(практически тогда, когда оно только появилось), траблов с ним было очень много, при том не у только у меня одного... Поэтому я его еще тогда выкинул, может оно сейчас получше уже стало, не буду предполагать...
Multi/sub-object Material в 3d Studio Max
03.04.08 04:44
CRASH
Вполне себе оправдано... Главное не частить... Как правило это в основном нужно лишь там, где текстуру нужно тайлить... Обычно все умещают в одной текстуре...

При экспорте, да, у каждого фейса свой ID материала.. При импорте в движок, фейсы сортируются по своему ID - получается несколько массивов, каждый массив нужно отрисовать отдельно, и сделать ему glBindTexture - в итоге увеличивается числов dip's...

Вообщем ничего в этом страшного нет, и если нужно, то нужно так и делать, на скорости практически не отразится(если конечно все в разумных пределах делать)...
Стенсильные тени
02.04.08 19:54
Цитата
Для статики ничего лучше лайтмапов не придумали пока

С этим неспорю :). Только я говорил, что условием было редкая, но все таки динамика(например источник)...
Ну а с деревьями, да... Стенсил не подойдет... Оно конечно в indoor самое то...

Цитата
А размывать там что? Стенсил-буфер чтоли?

Ыы... Ага :). Рендеришь квад в текстуру со стенсил тестом, а потом моешь ее... И накладываешь на основную картинку...
Стенсильные тени
02.04.08 17:21
Цитата(petyakurochkin @ 31.03.2008 - 10:44) [snapback]78127[/snapback]

Вмешаюсь не в тему, но скажу, что стенсильные тени более тормозные по сравнению с их альтернативами через пиксельные буфера...

Ага, PBO = FBO у АТИ, так что там гюков будет придастаточно...

Цитата
PSM - Plane Shadow Maps.

Как уже сказали, это Perspective Shadow Maps

Цитата
Для ландшафтов самое лучшее - PSM. Хотя зависит вообще.

PSM довольно нестабильная и глючноватая техника... Очень часто бывает, что в текстуру попадает то, что на самом деле не видно, и потом это попадает на экран... очень нехорошие артефакты...
TSM кстати от них избавляет...


Woolf
Блюрить, да, Vga правильно говорит.. Но можно быстрее пинг понгом блюрить - сначала рендерить тень в один RT, взвешивать сэмплы, и сдвигать на полтекселя текстурные координаты по вертикали, потом усреднять гауссом... рендерить в финальную текстуру, и сдвигать точно также, но только по горизонтали...

Стенсили ты передумал использовать?
Если источник двигается редко, но можно некоторый трюк использовать...
Хранить в видеопамяти две копии геометрии... одна для обычной отриссовки, другая для теней... При смещении источника(или обьекта, если он динамический) перестраивать волюм, и обновлять индексный буфер у второй копии геометрии... И в вершином шейдере вытягивать вершину по направлению к источнику... Тобишь оно пересчитывается, только когда двигается источник или обьект, а как правило, это случается не так часто... Хороший плюс в скорости... Еще нужно рендерить стенсили не в fullscreen текстуру, а чуть поменьше, филрейт сэкономит...
Сстенсили также можно успешно блюрить, тем же пинг понгом... Правда реализация этого всего, задача не тривиальная...
Dgle 1.1
02.04.08 16:51
DRON
А вот нужно приучать народ так не делать... Например создать матрицу для Indoor обьекта, и разрешить ее для записи и чтения... Получится так, что если захотеть как то переместить или повернуть этот обьект, нужно изменять именно эту матрицу... И большими красными буквами:) написать, чтобы не делали glTranslate/glRotate перед рендером обьекта...

Конечно, если кто то будет делать glPush/gl* где то непонятно где, то конечно ничего не сделаешь.. Но это вообще не твои проблемы...
Для каждого обьекта должен быть свой glPush... И никаких конструкций вроде
Код

glPush
...
glPush
...
glPop

glPush
...
glPop
glPop

Так никто не делает, и народ нужно от этого отучать...

P.S. Можно еще glGet перед рендером, но это плохой тон...
Dgle 1.1
02.04.08 15:03
Цитата
часть отрисовки где сцена умножается на произвольное колличество всяких матриц в части процесса никак не известна

Это почему же не известно? Ты матрицы считай на cpu, а потом делай glMult или glLoad, и все будет известно...
Или я чего не правильно понял? По идее(ну по крайней мере у меня) все матрицы должны быть известны, и высчитаны на Cpu, а потом только перед рендером обьекта, установиться...
Проблемы не вижу в упор...

Цитата
Сейчас думаю шейдеры прикрутить в двиг, и перетянуть с DPE, PerPixel Lightning/Shadowing и DOT3

Ы? может ты имел в виду Normal mapping? DOT3, это по сути просто расширение(хотя не обязательно, можно его сделать и мультекстуированием через другое расширение :)), которое позволяло делать простенький бамп, там где шейдеры не поддерживаются карточками... Тобишь, DOT3 это бамп, без использования шейдеров... Поэтому называть его так, как то не культурно :). И вообще так уже никто не делает...
А вот если пытаться сделать Normal mapping, то траблов будет полно.. чего только TBN стоит...
Ждем двиг :)
20.03.08 14:59
Цитата
Преключение состояний в шейдере теже дают ощутимый прирост если их заоптимазить

Каким, интересно, образом их еще оптимайзить, кроме приведенного... ?

Ну и 2.5 раза тоже, имхо, много.. Ну это только если уж очень много одинаковых шейдеров, и то не больше чем в 1.5 раза ускорение будет наблюдаться...
Ладно, как оно будет, будем смотреть на реальные примеры и делать выводы... Ждем...
Ждем двиг :)
19.03.08 21:08
Цитата
помимо текстурных и шейдерных биндов там ещё полно всего что тоже можно заоптимизировать

Да? Ну просвяти ;), а то я что то не в курсе :D.

Цитата
любое мощное железо можно убить неоптимизированностью программы

Можно, ну и? Каким место только это здесь? Ты читай внимательнее посты, я говорил об оптимизации рендера, а не об оптимизации программы в общем...

MegaI2
Рендер оптимизирует, сортируя обьекты по материалу... Тобишь обьекты с одинаковыми материалами идут друг за другом(а не в перемешку) в рендер списке... поэтому число биндов шейдера и текстур скоращаются в несколько раз... Вот и вся оптимизация, и впринципе, больше тут ничего уже не сделаешь...

Про какие ты там еще оптимизации говорил, я не знаю...


Dgle 1.1
17.03.08 15:17
Цитата
Я просто представил просчет столкновений с несколькими тысячами полигонов...

А зачем ты так представил? :). Так никто не делает...

Геометрический уровень разбивается на сектора, используя порталы... Простанство сектора разбивается на подпространства(например, используя Octree, или выделяя отдельные обьекты от сектора).



Работает так:
Находится сектор в котором находится камера(или обьект - перс к примеру), это шустро делается если уровень разбит на много bsp деревьев... Ну а дальше выполянется тест BoxVsBox, и все треугольники которые прошли этот тест проверяются уже на пересечение с камерой(персом)...

Из 1 млн. треугольников проверится всего, например, 500-1500, ну может больше, зависит от уровня... Кроме того все это еще и шустро отрисовывается...


Цитата
точных столкновений в DGLE быть не может.

А что так? Проблемы в упор не вижу...
Ждем двиг :)
17.03.08 10:24
Цитата
"Бинды достаточно дешевые", брехня!!!!))))

Умно ;)

Текстурные бинды бесплатные, если текстуры находятся в видеопамяти... И сортировка даст, конечно, небольшой прирост(Я уже говорил об этом) для большого кол-ва обьектов, если часть текстур находится в оперативной памяти(и постоянно гоняются по шине)... Для современных карт прироста не будет...

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

И мне хочется услышать, что за "техники рендера" такие?
Ждем двиг :)
16.03.08 23:00
Цитата
оптимизации переключения текстур и техник рендера для большего кол-ва объектов ускоряют FPS до 6 раз

Ого... Это откуда такие цифры? Было 150, а стало 900, так что ли? :)

Что же некие "техники рендера" творят такое?

Оптимизировать можно переключения текстур и шейдеров... Но погоды особой оно не сделает... Бинды достаточно дешевые(шейдерный особенно, т.к. в любом случае все юниформные параметры для каждого обьекта нужно переустанавливать, и лишние бинды дело не испортят,
текстурный бинд бесплатный если все текстуры расположены в графической памяти, а если нет, то обычно их не так много... Потери небольшие будут... А на новых картах, с их пропускной способностью, разницы вообще не увидишь)...

Увеличение, беспорно будет, но не более чем в 1.1-1.2 раза, имхо..
Примеры....
04.03.08 21:23
Цитата
нифига нормально шейдером ты не затайлишь

Не нужно таких поспешных выводов, если ты не смог, почему другие тоже должны не смочь? Посмотри вокруг, сейчас очень полно игр вполне успешно использующих этот способ... И никто не жалуется ;)

Цитата
Не, ну если ты тайлить двумя-тремя текстурами собрался

Ну, а если ты одной текстурой собрался тайлить то я промолчу :rolleyes:

Цитата
Обычно тайлов надо видов 20-30.. Это как минимум.

Ну да, вполне нормально... а что, разве плохо?

Один вид Тайла 256х256, вполне сойдет... Вы тут предлагаете 2048х2048 текстуру...
А по размеру эта большая текстура будет равна 8х8 этим небольшим тайлам.
Тоесть по обьему это 64 тайла вместо одной большой текстуры... Мало?

Довольно разнообразно получается, и качественно...

Цитата
Кроме того - лайтмапы. Карты бампмапа

Ну... Лайтмапы еще скрипя сердцом соглашусь.. Но вот бамп... Это уже слишком...
Имхо, глупо, бампить громадный ландшафт одной большой текстурой...
Получится непонятно, что... Там где хотелось маленькую трещинку 5х20 см, получится громадная трещина 5х20 метров... Вообщем никакой детализации ландшафту такой бамп не прибавит...
Максимум, бампить, текстурой на патч, но не в коем случае на весь ландшафт.



Цитата
некоторые рендертаргеты (global spotlight например, так вроде они ее назвали - пишу на память).

Если рендертаргет спотлайт, то это освещение и причем Image-based со всеми вытекающими последствиями... в основном любимым перспективным алиасингом...
Так вот, чтобы от него избавиться стараются то, что ВИДНО и то, что ближе к камере, запихать в текстуру, и выделить этим видимым обьектам как можно больше текселей...
Так вот зачем пихать в текстуру кучу лишнего мусора, который вообще не виден?
Я думаю, что текстуру то там большую используют, но не кладут ее полностью на весь ландшафт, смысла в этом нет..
Цитата
Да и маска смешенеия тайлов - тоже текстура во весь ландшафт.

Да, здесь можно так делать... Но... До определенного момента, дальше будет страдать точность...
Если количество вершин будет больше количества текселей маски.. то... точность будет хромать...
Например, если размер ландшафта 4096х4096 вершин, а размер текстуры маски 2048х2048, то вместо одного тайла, будет тайлиться уже два... и т.д.

Примеры....
04.03.08 18:24
Цитата(Vga @ 3.03.2008 - 17:49) [snapback]76894[/snapback]

Для вывода ландшафта часто используются текстурные карты большого размера, накрывающие весь ландшафт (карта смешения например, карта освещения).


Здесь не соглашусь. Текстуры, накрывающие весь ландшафт практически нигде не используют(Мегатекстура разве только что, но это не сюда). Если ландшафт мало мальски приличный по размерам, то даже карта максимального размера будет прилично мазаться... Или например если использовать нормаль карту для повышения качества ЛОДа ландшафта(при карте, которая будет покрывать весь ландшафт, хорошей детализации ЛОДа добиться просто не получиться)...
Имхо, вообщем, не логично это... тайлить, на умных карточках, шейдером куда веселее ;)