Delphi - пример демонстрации GLScene или FireMonkey для рисования на 3D-модели - PullRequest
7 голосов
/ 31 января 2012

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

Ответы [ 2 ]

7 голосов
/ 31 января 2012

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

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

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

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

6 голосов
/ 31 января 2012

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

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

http://edn.embarcadero.com/article/images/42012/thumb03000003.png

http://edn.embarcadero.com/article/images/42012/thumb03000005.png

...