Предположим, например, что у меня была "тканевая" сетка 10x10, где каждый квадрат составлял два треугольника. Теперь, если бы я хотел оживить это, я мог бы сделать весенние вычисления на процессоре. Каждая вершина будет иметь свои собственные «пружинные» данные и, будем надеяться, подпрыгнет, как любой тип «ткани», который она должна была представлять.
Тем не менее, для этого потребуется минимум около 380? весенние расчеты на кадр. К счастью, вычисления для каждой вершины являются «смущающе параллельными» - если бы у меня был один процессор на вершину, каждая вершина могла бы работать на одном процессоре. Поэтому теоретически графические процессоры являются отличным выбором для выполнения таких вычислений.
За исключением (и это использует DirectX / SlimDX) - я понятия не имею / не знаю, как бы / должен:
1) Отправьте все эти данные вершин на видеокарту (да, я знаю, как визуализировать материал, и даже написал свой собственный глобальный файл световых эффектов на пиксель и смешение текстур, однако для каждой вершины необходимо: быть в состоянии получить доступ к данным о положении по крайней мере трех других вершин). Я полагаю, что мог бы вставить соответствующие позиции вершин и количество позиций вершин в TextureCoords, но может быть другое, стандартное решение.
2) Затем прочитайте все данные вершин, чтобы я мог обновить сетку в памяти. В противном случае каждое обновление будет воздействовать на одни и те же данные до точно такого же результата, подобно добавлению 2 + 3 = 5, 2 + 3 = 5, 2 + 3 = 5, когда вы хотите, чтобы 2 + 3 = 5 - 2 = 3 + 1,5 = 4,5.
И может быть, я смотрю в неправильном направлении, чтобы сделать это.
Спасибо.