Чтение положения вершин, смещенных шейдером (график шейдера)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Чтение положения вершин, смещенных шейдером (график шейдера)

Сообщение Anonymous »

Итак, у меня есть шейдер, который создает ландшафт из фрагментов, шейдер был создан с использованием графа шейдера, теперь мне нужно создать экземпляры некоторых объектов на ландшафте, моя общая идея заключалась в том, чтобы взять случайную вершину фрагмента, получить его глобальные координаты .
Затем я понял, что шейдер смещает вершины на графическом процессоре, но создание экземпляров выполняется на стороне процессора. Я подумал, что могу использовать обратное чтение графического процессора, но не совсем понял, как это использовать, действительно ли это возможно сделать с помощью графа шейдера?
Я также думал просто перенести логику смещения из шейдера в скрипт cs, но мне не удалось сделать ее мозаичной.
Итак, если идея каким-то образом читать данные с графического процессора кажется плохой, было бы здорово найти какие-нибудь решения по мозаичному смещению шума.
Вот что я попробовал для перемещения через файл cs. Каждый объект, к которому был прикреплен этот скрипт, имел одинаковое смещение, а не мозаику.
for (int i = 0; i < originalVertices.Length; i++)
{
Vector3 vertexWorldPos = transform.TransformPoint(transform.position) + originalVertices;
displacedVertices = vertexWorldPos;
displacedVertices.y = Mathf.PerlinNoise(vertexWorldPos.x * noiseScale, vertexWorldPos.z + noiseScale) * Height;
Debug.Log(displacedVertices);
}
mesh.vertices = displacedVertices;
mesh.RecalculateNormals(); // Recalculate normals to ensure lighting is correct


Подробнее здесь: https://stackoverflow.com/questions/782 ... ader-graph
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»