brunnengi Опубликовано 27 мая, 2014 Опубликовано 27 мая, 2014 Здравствуйте. Как включить Wireframe режим (отображение сетки) для всех моделей, и для отдельно взятой модели?
0 Администраторы Brovin Yaroslav Опубликовано 28 мая, 2014 Администраторы Опубликовано 28 мая, 2014 Такого режима нету в 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 brunnengi Опубликовано 29 мая, 2014 Автор Опубликовано 29 мая, 2014 Спасибо. Как я проморгал это видео. Ведь сам и подписан на его канал. Блин. Спасибо большое! P.S.: а в следующих версиях XE планируется добавление возможности отображения сетки?
Вопрос
brunnengi
Здравствуйте.
Как включить Wireframe режим (отображение сетки) для всех моделей, и для отдельно взятой модели?
2 ответа на этот вопрос
Рекомендуемые сообщения