Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draw a skybox if the ray hit on nothing #579

Closed
0x4E69676874466F78 opened this issue Sep 25, 2023 · 11 comments
Closed

Draw a skybox if the ray hit on nothing #579

0x4E69676874466F78 opened this issue Sep 25, 2023 · 11 comments
Labels
bug Something isn't working ray tracing visual bug Visual glitches, something looks incorrectly

Comments

@0x4E69676874466F78
Copy link
Collaborator

Иначе при удалении паразитных граней скабокса мы ловим проблему:
image
image

@0x4E69676874466F78 0x4E69676874466F78 added bug Something isn't working ray tracing visual bug Visual glitches, something looks incorrectly labels Sep 25, 2023
@0x4E69676874466F78 0x4E69676874466F78 changed the title Draw a skybox if the ray hit on nothing. Draw a skybox if the ray hit on nothing Sep 25, 2023
@0x4E69676874466F78
Copy link
Collaborator Author

Таких поверхностей там теперь гораздо больше.

@w23 w23 added this to HLRT Sep 26, 2023
@w23 w23 moved this to 🏗 In progress in HLRT Sep 26, 2023
@w23 w23 moved this from 🏗 In progress to 👀 In review in HLRT Sep 26, 2023
@0x4E69676874466F78
Copy link
Collaborator Author

Всё ок.

@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in HLRT Sep 26, 2023
@0x4E69676874466F78
Copy link
Collaborator Author

0x4E69676874466F78 commented Sep 26, 2023

Единственное теперь где мы ожидали увидеть черноту там теперь скабокс, например c0a0e (это место не видится но тем не менее):
image
На c1a0a более заметно:
image
И дырка на c1a1f:
image

Таких мест довольно мало.

@0x4E69676874466F78
Copy link
Collaborator Author

0x4E69676874466F78 commented Sep 26, 2023

Эти вещи можно запатчить добавлением закрывающей грани #540 либо сменить скайбокс на тёмный. Патчить wordspawn на предмет скайбокса мы умеем?
Другой вариант это управлять возможностью рисовать скабокс на пустоте через патчи.

@w23
Copy link
Owner

w23 commented Sep 26, 2023

А в GL рендере это как выглядит?

@0x4E69676874466F78
Copy link
Collaborator Author

0x4E69676874466F78 commented Sep 26, 2023

А в GL рендере это как выглядит?

Там последний кадр, нет clear.

@w23
Copy link
Owner

w23 commented Sep 30, 2023

Тут можно через патчи для карты затащить флажок, что делать с фоном -- закрашивать цветом, закрашивать небом, закрашивать предыдущим кадром, заблюривать соседями, и пр.

@w23 w23 moved this from ✅ Done to 👀 In review in HLRT Sep 30, 2023
@0x4E69676874466F78
Copy link
Collaborator Author

@w23 пока что все места это самое начало где скайбокса в принципе нет, кстати вот эверистика! Мы же можем проверить есть ли SURF_DRAWSKY вообще на карте? Если нет то мы просто для пустоты рисуем ничего.

@w23
Copy link
Owner

w23 commented Sep 30, 2023

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

@0x4E69676874466F78
Copy link
Collaborator Author

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

Рассчитывают, так что лучше мой вариант.

@w23 w23 closed this as completed in f63dcd1 Oct 2, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in HLRT Oct 2, 2023
@w23 w23 moved this from ✅ Done to 🆕 New in HLRT Oct 13, 2023
@w23 w23 moved this from 🆕 New to 🔖 Ready in HLRT Oct 13, 2023
@0x4E69676874466F78
Copy link
Collaborator Author

0x4E69676874466F78 commented Nov 23, 2023

Какие у нас фактические сейчас вырисовываются стратегии:

  1. Если на карте нет никаких SURF_DRAWSKY тогда рисуем где дыры черноту; если на карте есть хотя бы 1 SURF_DRAWSKY рисуем в дырах скайбокс.
  2. Удалить все SURF_DRAWSKY нарисовать везде скайбокс // нужно на c2a5 чтобы вертолёт не проваливался в скайбокс

Первый вариант у нас всегда должен быть активен по умолчанию, это почти идеальная стратегия в отсутствии куллинга, второй нужен только для ряда карт чтобы не мучиться с удалением вручную SURF_DRAWSKY, для этого надо в патчах добавить ключ "_xvk_remove_surf_drawsky" "1" (что-то в таком духе).

Текущий коммит f63dcd1 некорректный и на c1a1f даёт:
image

w23 added a commit that referenced this issue Dec 14, 2023
- Do not load skybox at all if there are no SURF_DRAWSKY, #706, #579
- Do not reload the same skybox, #706

Also refactor skybox loading a bit. Prepare for KTX2 skyboxes.
w23 added a commit that referenced this issue Dec 14, 2023
Neede for getting rid of some skybox 𝘱𝘦𝘯𝘦𝘵𝘳𝘢𝘵𝘪𝘰𝘯 glitches, see #579
@w23 w23 moved this from 🔖 Ready to 👀 In review in HLRT Dec 18, 2023
w23 added a commit that referenced this issue Dec 18, 2023
Skybox improvements (E346-E349)

- [x] #706 
  - [x] Do not load skybox if map doesn't have any `SURF_DRAWSKY` surfaces.
  - [x] Cache: do not reload the same skybox.
  - [x] Enable loading packed KTX2 cubemaps as skyboxes in engine/imagelib
- [x] Reuse existing imagelib cubemap loading routines, remove custom skybox loading code
- [x] Allow hiding `SURF_DRAWSKY` surfaces via `"_xvk_remove_all_sky_surfaces" "1"`, #579 
- [x] #677 
  - [x] Add skybox exposure control for HDR skyboxes
  - [x] Allow reloading skyboxes when reloading patches
@w23 w23 closed this as completed Dec 18, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in HLRT Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working ray tracing visual bug Visual glitches, something looks incorrectly
Projects
Status: Done
Development

No branches or pull requests

2 participants