[Здесь была неверная инфа :)].
Полдня лазания по Гуглу и отладки кода, и в шейдеры легли максимально эффективные функции, тестирующие пересечения. Пересечение с боксом просто как две копейки. А люди выдумывают какие-то извраты через координаты Плюкера...
Тест на пересечение со сферой - 6 слотов инструкций:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM6iapO3qfZd_YxuIhHWcQVrbcfcZEd2p0y8TO6h74-95dMGMhYav2VJx5ZyHlVtHdkwayvCQF3-f2JyEImksMNUWQC2vNxae4Ia9xIzI5vLsdNJSEulAAvcRBW70jVE4RqS9k3rO9dV_l/s400/sphere.png)
Тест на пересечение с эллипсом - 14 инcтрукций:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFkH2FFaCjMEa4fSDwRPfOMVw6ivWU44a5eN8YzCFmbqyGctRLW285vi5qJR5I-ZNN-CQSTPxEcqoH9QOfpQFNb4GVS1pMaJ63_0copnB_YkhtmoHQ28wQ8dficMG4IqpPLnlAF8rR69uU/s400/ellipse.png)
Branchless тест на пересечение с AABB - 14 инcтрукций (включая одно деление):
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivTTRXMsAjcUSo6PXpA78lG4L8QAAngRY3Fb_afXFxC7OGwHGnCYeav2s-nmRFqgx4hH0TaPTygIBeI9UB8LIsXCZrMa0MKb3p1KyDSP0WEXDB2HXp8mJuVoOB5X5Rn0I-Ztb5nq_ZJOPe/s400/box.png)
При этом мне не нужно само пересечение, а только булево значение, а значит, нет необходимости в квадратном корне.
Комментариев нет:
Отправить комментарий