Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как включить Wireframe режим?


brunnengi

Вопрос

Рекомендуемые сообщения

  • 0
  • Администраторы

Такого режима нету в FireMonkey. 

Однако, если очень хочется и нужно, то есть такой вариант:

http://www.youtube.com/watch?v=-yKsyKOSyh4

Правда нужно понимать, что скрытие 3D объекта через Opacity не является правильным способом, так как фактически все вычисления производятся все равно. Чтобы избежать этого, можно для требуемых 3D объектов переопределить метод рендеринга объекта:

TCopntrol3D.Render

И вместо вывода объекта рисовать только ребра, способом описанным человеком на видео.

  TMyCube = class (TCube)
  public
    FColorMaterial: TColorMaterialSource;
  protected
    procedure Render; override;
  public
    property ColorMaterial: TColorMaterialSource read FColorMaterial write FColorMaterial;
  end;

// .....

procedure TMyCube.Render;
begin
  if FColorMaterial <> nil then
    Context.DrawLines(Data.VertexBuffer, Data.IndexBuffer, TMaterialSource.ValidMaterial(ColorMaterial), Opacity)
  else
    Context.DrawLines(Data.VertexBuffer, Data.IndexBuffer, nil, Opacity);
end;

Демо проект: 3DWireFrame.zip

Ссылка на комментарий
  • 0

Спасибо. Как я проморгал это видео. Ведь сам и подписан на его канал. Блин.

Спасибо большое! :)

 

P.S.:

а в следующих версиях XE планируется добавление возможности отображения сетки?

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...