Delphi — демонстрационный пример GLScene или FireMonkey для рисования на 3D-модели

Есть ли какая-нибудь демонстрация или статья о том, как рисовать сплошными цветами на 3D-модели с использованием компонента Delphi GLScene или FireMonkey?


person William    schedule 31.01.2012    source источник


Ответы (2)


В GLScene Demos\interface\hfpick у вас есть пример рисования поля высоты.

Рисование на более сложной сетке потребует поиска текстурных координат точки под курсором, что в зависимости от того, как была наложена текстура, может быть более или менее сложной.

Быстрый хак для небольших текстур, который будет использовать преимущества графического процессора, может заключаться в использовании координат текстуры в качестве цвета RGB, вы можете сделать это во фрагментном шейдере, возвращая u, v в R, G f.i, а индекс текстуры в канал Б. Визуализируйте это во внеэкранном буфере и найдите цвет точки под курсором, это даст вам текстуру и координаты, а также тривиальную поддержку текстур 256x256 (и даже до 4096x4096, если вы используете индекс текстуры с умом).

Чтобы сделать это математически правильным способом (используя ЦП), вам придется модифицировать методы RayCast сетки, чтобы вместо того, чтобы просто находить треугольник, в который попали, он также возвращал координаты текстуры точки, в которую попали.

person Eric Grange    schedule 31.01.2012

Эта статья в блоге Визуализация интерференции волн с помощью FireMonkey, опубликованная вчера, может представлять интерес.

Пара скриншотов:


(источник: embarcadero .com)


(источник: embarcadero .com)

person David Heffernan    schedule 31.01.2012