HLFX.Ru Forum Страницы (264): « Первая ... « 143 144 145 146 [147] 148 149 150 151 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено Дядя Миша 03-04-2020 в 14:14:

Помоему там Poisson Disk обычный.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 03-04-2020 в 15:54:

Может кто нибудь обьяснить как работает алгоритм пересечения луча и AABB? Рою интернет, уже довольно много информации нашёл, но вообще не могу разобраться.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено ncuxonaT 03-04-2020 в 17:46:

SNMetamorph вот тут достаточно толково описан алгоритм
https://www.scratchapixel.com/lesso...ox-intersection

Добавлено 03-04-2020 в 20:46:

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

Я решил проверить это и заодно узнать размер блока. Рендерил один и тот же кадр, отбрасывая часть пикселей либо в шахматном порядке, либо линиями (см. иллюстрации). Замерял фпс для разных размеров шашечек/линий. Во всех случаях количество отрисованных пикселей одинаковое.

С интерпретацией результатов возникли проблемы. Кто-нибудь может объяснить, почему такая разница в фпс между шашками и линиями при размере в 16 пикселей? Правильно ли я понимаю, что размер блока можно считать равным 32х32? На других видеокартах всё может быть иначе?

https://i.imgur.com/R8LssVO.jpg
https://i.imgur.com/Rve8ukS.jpg
https://i.imgur.com/G5CGj4f.jpg


Отправлено Дядя Миша 03-04-2020 в 18:18:

Смысл забивать голову? Он работает, этого достаточно.

Добавлено 03-04-2020 в 21:18:

Цитата:
ncuxonaT писал:
видеокарта рисует пиксели не по одному, а блоком. И к следующему блоку не приступает, пока не закончит предыдущий

Очевидно растеризуемое пространство делится на квадратики и каждому конвейеру достаётся свой квадратик. Чтобы каждый конвейер рисовал свой пиксель - о таком я не слышал, судя по всему это провоцирует промахи кэша и замедлит работу. К примеру texture2D сразу четыре пикселя за раз читает.
Цитата:
ncuxonaT писал:
Время отрисовки блока определяется самым медленным его пикселем.

ну очевидно все конвейеры должны завершить свою работу.

Цитата:
ncuxonaT писал:
Рендерил один и тот же кадр, отбрасывая часть пикселей либо в шахматном порядке, либо линиями (см. иллюстрации).

шо-то ты не то тестировал.

Можно попробовать вот такой фокус (в реальных приложениях так делать нелья, но для теста вполне) - читать и писать в одну и ту же FBO текстуру.
Например сделать стекло. Она у тебя замерцает квадратами и ты сможешь увидеть размер блока.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 03-04-2020 в 21:32:

Цитата:
Дядя Миша писал:
шо-то ты не то тестировал.

Ну я надеялся попасть в размер блока, чтобы часть блоков отбрасывалась целиком. И на этом моменте наблюдался бы скачок фпс. Собственно, он и наблюдается, только почему-то разный результат для линий и шашек.

Цитата:
Дядя Миша писал:
Можно попробовать вот такой фокус (в реальных приложениях так делать нелья, но для теста вполне) - читать и писать в одну и ту же FBO текстуру.
Например сделать стекло. Она у тебя замерцает квадратами и ты сможешь увидеть размер блока.

Попробовал. Как ни странно, нет никаких артефактов, ничего не мерцает даже на 10 стеклах подряд.
https://i.imgur.com/4whwg2l.jpg


Отправлено SNMetamorph 04-04-2020 в 01:05:

Цитата:
ncuxonaT писал:
Ну я надеялся попасть в размер блока, чтобы часть блоков отбрасывалась целиком. И на этом моменте наблюдался бы скачок фпс. Собственно, он и наблюдается, только почему-то разный результат для линий и шашек.


Попробовал. Как ни странно, нет никаких артефактов, ничего не мерцает даже на 10 стеклах подряд.
https://i.imgur.com/4whwg2l.jpg

Попробуй поиграть с FPS и всинх отключить, может быть это как-то влияет

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 04-04-2020 в 07:19:

Цитата:
ncuxonaT писал:
Попробовал.

MRT надо. и glReadBuffer( GL_NONE );

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Lev 04-04-2020 в 15:58:

Вопрос к знающим: как можно оптимизировать террейн, сделанный в Terrain Generator? Дело в том, что мне нужно сделать довольно большой уровень с открытой местностью, террейн этот вопрос решает неплохо(учитывая, что делаю я в Paranoia 2 v1.51 и вопрос с его окраской буду решать с помощью слоёв в рендере). Но полигонов очень много - и, что самое неудобное, после экспорта в Джек Хамер я не могу нормально нанести Null-текстуру на невидимые грани(там все полигоны как отдельные маленькие браши) - в ручную это почти невозможно, их слишком много. Может их можно как-то объединить уже в Джек Хамере?


Отправлено Дядя Миша 04-04-2020 в 17:30:

Этих программок - две штуки. И вот одна из них сама красит нуллом бока. Открываешь уровень в блокноте и автозаменой меняешь NULL на SOLIDHINT.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 04-04-2020 в 18:22:

Цитата:
SNMetamorph писал:
Попробуй поиграть с FPS и всинх отключить, может быть это как-то влияет

Всинк выключен, фпс варьируется от 400 на одном стекле, до 100 на десяти, но ничего не меняется.
Цитата:
Дядя Миша писал:
MRT надо. и glReadBuffer( GL_NONE );

glReadBuffer( GL_NONE ) никак не влияет
Зачем МРТ? Рендер во фреймбуффер, к нему привязана текстура, эту же текстуру стекло использует.

Добавлено 04-04-2020 в 21:22:

Получилось, короче. Оказывается, можно без последствий читать из текстуры, в которую пишешь, если пишешь в тот же пиксель, что читаешь. Инвертировал у стекла текстурную координату по х, и вот они артефакты. Что интересно, рендерится, судя по всему, блоками в шахматном порядке, последовательно разбивая их от 32х32 до 4х4
https://i.imgur.com/JCzQDbI.jpg


Отправлено Дядя Миша 04-04-2020 в 18:57:

Цитата:
ncuxonaT писал:
Оказывается, можно без последствий читать из текстуры, в которую пишешь, если пишешь в тот же пиксель, что читаешь.

В свой - да, я думал ты догадаешься заглянуть в соседей.

Добавлено 04-04-2020 в 21:57:

Цитата:
ncuxonaT писал:
блоками в шахматном порядке, последовательно разбивая их от 32х32 до 4х4

ну я бы не стал по нештатной ситуации делать далекоидущие выводы. Это просто как наглядный пример.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено JPEG 05-04-2020 в 08:37:

Цитата:
Lev писал:
Вопрос к знающим: как можно оптимизировать террейн, сделанный в Terrain Generator? Дело в том, что мне нужно сделать довольно большой уровень с открытой местностью, террейн этот вопрос решает неплохо(учитывая, что делаю я в Paranoia 2 v1.51 и вопрос с его окраской буду решать с помощью слоёв в рендере). Но полигонов очень много - и, что самое неудобное, после экспорта в Джек Хамер я не могу нормально нанести Null-текстуру на невидимые грани(там все полигоны как отдельные маленькие браши) - в ручную это почти невозможно, их слишком много. Может их можно как-то объединить уже в Джек Хамере?

могу лишь посоветовать попробовать как альтернативу - GenSurf, с ним проблем не возникало

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))


Отправлено Lev 05-04-2020 в 09:51:

Yo Den А он понимает карты высот? Я ведь сначала в geocontrol 2 делаю - и сохраняю в хейтмапу.


Отправлено JPEG 05-04-2020 в 09:54:

Цитата:
Lev писал:
Yo Den А он понимает карты высот? Я ведь сначала в geocontrol 2 делаю - и сохраняю в хейтмапу.

да, понимает. Пример работы https://csm.dev/threads/skrinshoty-...126#post-965744

__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))


Отправлено Lev 05-04-2020 в 10:52:

Цитата:
Дядя Миша писал:
Этих программок - две штуки. И вот одна из них сама красит нуллом бока. Открываешь уровень в блокноте и автозаменой меняешь NULL на SOLIDHINT.


Ты о каком формате говоришь? MAP или RMF? Чёт не пойму я, где там опция по отсечению граней.


Временная зона GMT. Текущее время 03:12. Страницы (264): « Первая ... « 143 144 145 146 [147] 148 149 150 151 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024