Временная шкала для «Godot Fragment Shader Intersection»
Текущая лицензия: CC BY-SA 4.0
Post Revisions
12 событий
| когда сменить формат | что | кем | лицензия | комментарий | |
|---|---|---|---|---|---|
| 31 окт. 2025 в 14:25 | комментарий | добавлен | MBo |
Если пересечения будут часто, то отдельно считать факт пересечения ни к чему, ваше решение, если оно без ошибок - подойдёт. Если пересечения редки, то, вероятно, стоит их обсчитывать так, как у меня по ссылке, только нужно оценить, будет ли количество вычислений меньше, чем у вас до вычисления дискриминанта. ray.direction у вас единичный вектор, судя по отсутствию коэфф. а?
|
|
| 31 окт. 2025 в 10:44 | комментарий | добавлен | Evil Giraffe | @MBo Я хочу функцией get_intersection() получать bool значение, есть ли пересечение и если есть, то так же получить координаты точек пересечения. В последствии мне потребуется это для raycasting. Сдвиг координатной системы для получения центра сферы в (0,0,0) произвожу. | |
| 30 окт. 2025 в 2:03 | комментарий | добавлен | MBo | ОК, тогда поясните, что именно вы хотите получить. У вас в коде координаты (все?) предварительно исправляются помещением сферы в ноль координат? (Это я про зависимость от положения) | |
| 30 окт. 2025 в 0:41 | история | изменён | Evil Giraffe | CC BY-SA 4.0 |
Явно задал VERTEX как глобальные координаты до вершины и добавил перевод из смещенной системы координат. P.s. Нет, это не решение моей проблемы. В моей тестовой сцене сфера вообще стоит на (0, 0, 0) координате, так что вклад центра сфера нулевой
|
| 29 окт. 2025 в 19:27 | комментарий | добавлен | Evil Giraffe | @MBo большое спасибо, но это немного не то, что мне нужно | |
| 29 окт. 2025 в 19:19 | комментарий | добавлен | MBo | Вот как можно попроще проверить: ru.stackoverflow.com/a/921657/291659 ( Dot(pr, pr) сравнивать с квадратом радиуса сферы) | |
| 29 окт. 2025 в 19:17 | комментарий | добавлен | Evil Giraffe | @MBo В будущем мне потребуются точки пересечения (я уже нахожу их), но сейчас я проверяю факт попадания прямой в сферу и уже не справляюсь. | |
| 29 окт. 2025 в 19:13 | комментарий | добавлен | MBo | Вам нужно проверить факт попадания прямой в сферу или найти точку пересечения? | |
| 29 окт. 2025 в 18:57 | комментарий | добавлен | Evil Giraffe | @user7860670 Я хотел протестировать код и красить вершины сферы в красный, если луч, выпущенный из камеры в сторону этой вершины пересекает сферу. Как вы понимаете, в данном примере вся сфера должна стать красной, но в результате происходит что-то непредвиденное. | |
| 29 окт. 2025 в 18:54 | история | изменён | Evil Giraffe | CC BY-SA 4.0 |
Добавил поправку на координаты центра сферы. Однако это не решает проблему, так как ошибка возникает даже в случае, где координаты центра (0, 0, 0)
|
| 29 окт. 2025 в 18:53 | комментарий | добавлен | user7860670 | ¿А какой результат ожидается? ¿Вся красная или вся белая сфера или что-то еще? | |
| 29 окт. 2025 в 18:48 | история | задан | Evil Giraffe | CC BY-SA 4.0 |