Проецирование кольца прицеливания с использованием direct3d - PullRequest
1 голос
/ 23 декабря 2010

Я пытаюсь нарисовать «целевое кольцо» на земле под «юнитом» в увлекательной 3d-игре, над которой я работаю. По сути, я хочу проецировать ярко-красное узорчатое кольцо на поверхность земли под отрядом.

Единственный подход, который я могу придумать, это -

  1. Нарисуй мир один раз как обычно

  2. Draw мир во второй раз, но в моем Вершинный шейдер У меня есть мир x, y, z координаты вершины и я могу передать в координатах выделенный блок - так что я могу рассчитать, что координаты u, v в моем проекте текстура должна быть на эта точка в мире для этого вершина.

    Затем я бы использовал пиксельный шейдер, чтобы выбрать пиксели из целевой текстуры кольца и смешать их с ранее нарисованным миром.

Я полагаю, что это должно быть легко и должно работать, но это требует от меня рисования всего видимого мира дважды, так как трудно точно определить, на какие полигоны может попасть целевое кольцо. Кажется, что это огромные накладные расходы: дважды нарисовать весь мир, один раз для нормальной освещенной текстурированной земли, а затем снова просто нарисовать целевое кольцо.

Есть ли лучший подход, который мне не хватает?

1 Ответ

1 голос
/ 24 декабря 2010
...