Обнаружение столкновений с помощью аппаратных примитивов - PullRequest
2 голосов
/ 18 января 2009

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

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

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

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

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

1 Ответ

2 голосов
/ 18 января 2009

Похоже, статья Дэна Хорна «Операции сокращения потока для приложений GPGPU» в GeForce GPU 2 - это именно то, что вам нужно. Как и все главы, он свободно доступен онлайн .

...