HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 143 144 145 146 [147] 148 149 150 151 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Помоему там 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'

Сообщить модератору | | IP: Записан
Сообщение: 191836

Старое сообщение 03-04-2020 14:14
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



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

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 191841

Старое сообщение 03-04-2020 15:54
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 191842

Старое сообщение 03-04-2020 17:46
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



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

Добавлено 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'

Сообщить модератору | | IP: Записан
Сообщение: 191844

Старое сообщение 03-04-2020 18:18
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



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

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

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

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

Сообщить модератору | | IP: Записан
Сообщение: 191847

Старое сообщение 03-04-2020 21:32
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



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


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

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

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 191849

Старое сообщение 04-04-2020 01:05
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 191854

Старое сообщение 04-04-2020 07:19
-
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 786
Возраст: 30

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 191875

Старое сообщение 04-04-2020 15:58
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Этих программок - две штуки. И вот одна из них сама красит нуллом бока. Открываешь уровень в блокноте и автозаменой меняешь 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'

Сообщить модератору | | IP: Записан
Сообщение: 191878

Старое сообщение 04-04-2020 17:30
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
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

Отредактировано ncuxonaT 04-04-2020 в 18:39

Сообщить модератору | | IP: Записан
Сообщение: 191881

Старое сообщение 04-04-2020 18:22
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 191882

Старое сообщение 04-04-2020 18:57
-
JPEG
Житель форума

Дата регистрации: Sep 2013
Проживает: рф
Сообщений: 659

Рейтинг



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

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

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

перехожу на другой двиг

Сообщить модератору | | IP: Записан
Сообщение: 191885

Старое сообщение 05-04-2020 08:37
- За что?
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 786
Возраст: 30

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 191890

Старое сообщение 05-04-2020 09:51
- За что?
JPEG
Житель форума

Дата регистрации: Sep 2013
Проживает: рф
Сообщений: 659

Рейтинг



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

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

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

перехожу на другой двиг

Сообщить модератору | | IP: Записан
Сообщение: 191891

Старое сообщение 05-04-2020 09:54
- За что?
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 786
Возраст: 30

Рейтинг



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


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

Сообщить модератору | | IP: Записан
Сообщение: 191896

Старое сообщение 05-04-2020 10:52
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 20:01. Новая тема    Ответить
Страницы (260): « Первая ... « 143 144 145 146 [147] 148 149 150 151 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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