Возможно ли в новом модуле Graph3D накладывать текстуру на модель?

Возможно ли в новом модуле Graph3D накладывать текстуру на модель?

В Примерах в папке Graph3D есть пример EarthImageMaterial.pas

А сами модели как загружать? Вот для проверки модель чашки сделал с “фирменной” текстурой для PascalABC.NET, она есть и в простом 3D формате obj, но как загрузить не понял.

Здорово!

Ну, что-то вроде

var фирменнаяЧашка := FileModel3d(-5,-5,0,'cap.3ds');

Анимацию мы пока толковую не сделали

3DS сложно, а cup.obj - простой текстовый формат. Тем более там вроде загрузчик уже есть. Анимацию можно и в программе делать.

Почти нормально, только какие-то “трещинки” из кусочков текстуры. cupabc.zip (120,9 КБ)

У helix-toolkit первый релиз вышел шесть дней назад. Вы вроде им пользуетесь. Может с ним будет совсем нормально текстуру показывать?

Там ничего нового в модуле, который мы используем

А откуда сам модуль? Я нашёл некую библиотеку на https://github.com/helix-toolkit/helix-toolkit но там нумерация версий совсем другая. Сейчас 1.0.0.0, до этого в версиях вообще года стояли, но в PascalABC.NET у HelixToolkit.Wpf.dll версия 2.5.3.4. И как это подключать, если пытаться там что-то менять?

Хотя, если посмотреть на тот-же пример с более сложной текстурой cupabc2.zip (229,9 КБ) то видно, что проблемы у вершин, которые имеют одни и те-же координаты в 3D, но разные в 2D на UV развёртке. Наверное такое не очень просто исправить.

Там только для обычных объектов это работает, а для загруженной, т.е.
var g := graph3d.FileModel3D(0,0,0,‘something.obj’); g.Material := ImageMaterial(‘texture.jpg’);

Error: Material не объявлен в типе FileModelT

Посмотрел библиотеку, убрал из файла obj модели команду “s 1”, стало нормально, вроде загрузчик только её неправильно обрабатывал.

Я боюсь, что они за 2 месяца просто поменяли номер версии. Никаких изменений в исходниках я не вижу.

Не объявлен, да. Мотороллер не наш :slight_smile: Мы просто написали обёртку…