Обнаружение столкновений с помощью аппаратных примитивов

StackOverflow https://stackoverflow.com/questions/455598

Вопрос

Существует много литературы по обнаружению столкновений, и я прочитал, по крайней мере, достаточно большую ее часть, чтобы быть достаточно знакомым с большинством методов. Однако есть кое-что, что ускользнуло от меня на некоторое время, и я решил, что, поскольку StackOverflow обеспечивает доступ к большой группе блестящих умов сразу, я бы сначала спросил здесь, прежде чем копаться в книжной полке.

В наше время все больше и больше работы делегируется на GPU, а не на CPU, и во многих случаях это хорошо. Например, существуют геометрические шейдеры для создания новой геометрии или (немного менее новые, но все еще довольно увлекательные) вершинные шейдеры, с которыми вы можете пройти через кучу вершин, и из этого получится что-то элегантное. Что я обдумывал, так как эти примитивы существуют только на графическом оборудовании, как бы вы выполнили надежное обнаружение столкновений с этими примитивами? Давайте предположим, что у меня есть какая-то чрезвычайно упрощенная сетка, которая смещена в вершинном шейдере (у меня нет конкретной проблемы, я больше играю с идеей, и я еще не очень углубился в геометрические шейдеры).

До сих пор я рассматривал отдельные проходы «рендеринга» с подходящих углов с более или менее отключенным затенением и, возможно, сеткой с более низким разрешением, рендеринг внутренней части (с перевернутыми гранями внутрь) моего второго примитива вместе с сеткой Я хочу проверить и выполнить запрос окклюзии для меша. Если сетка полностью закрыта, пересечения не будет. Это, конечно, потребовало бы, чтобы мой второй примитив был выпуклым.

Почему-то у меня возникает ощущение, что этот вид теста будет чрезвычайно дорогим, так как количество примитивов увеличивается (даже если большая часть может быть отбракована напрямую). У кого-нибудь еще есть другая идея или техника? Я больше знаком с opengl и cg, чем с directx, но если у вас есть несколько примеров в directx, думаю, я смогу выяснить аналоги opengl.

Все идеи приветствуются, поэтому, пожалуйста, проведите мозговой штурм. :)

Это было полезно?

Решение

Звучит как статья Дэна Хорна & # 8220; Операции сокращения потока для приложений GPGPU & # 8221; в GPU Gems 2 - именно то, что вам нужно. Как и все главы, он свободно доступен в Интернете .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top