Я ищу SDK / API для рендеринга файла модели Sektchup (.skp) в приложении Qt. Я нашел Sketchup SDK но нет намека на рендеринг.
Все, что мне нужно, это неподвижное изображение в одной из стандартных перспектив, но панорамирование, вращение и масштабирование, конечно, будут отличным дополнением.
Еще один поиск в Google нашел способ извлечь эскиз PNG из файла Sketchup-Model без SDK или других библиотек. Это удовлетворяет мои потребности сейчас.
Оказывается, миниатюра — это просто PNG-файл, встроенный в файл SKP, поэтому QFile
и ищу первую подпись PNG 0x89504e470d0a1a0a
это все что нужно. Я тогда передаю правильно расположенный QFile
к QImageReader
читать PNG и отображать его.
Код достаточно прост, и я мог бы поделиться им, но я не уверен, действительно ли его вставка считается хорошим стилем. Мнения?
То, что вам нужно, это движок рендеринга (API для рендеринга 3D векторной графики / API растеризации / Игровой движок / другие виды движок рендеринга).
Примеры низкого уровня — OpenGL, WebGL, DirectX.
Примеры высокого уровня — Ogre3D, Three.js, Unity Engine.
SketchUp SDK предоставляет только интерфейс для чтения / записи файла SketchUp.
Вам нужно будет использовать SketchUp C API извлечь информацию о модели (триангулированные сетки, текстуры, положение камеры …).
Затем введите эту информацию в движок рендеринга по вашему выбору, чтобы сделать вашу модель.