Как реализовать рендер 3D с выбранными текстурами для php сайта?
Стоит задача сделать конструктор модели дома для сайта.
Будет сайдбар с разными наборами текстур для разных частей дома (стен, крыши, окон и т.д.) и конечная картинка в JPG, которая должна меняться при изменении в выборе текстур.
Как я полагаю, рендерить нужно на стороне сервера. Были конечно мысли сделать это на фронтенде (JS, Canvas, webgl), но высока вероятность утечки текстур и моделей.
На сервер посылается запрос со всеми необходимыми параметрами, сервер рендерит картинку и отдает клиенту только её.
Теперь, собственно, вопрос - используя какие технологии можно без проблем это реализовать?
Можно не ограничиваться PHP, а выполнить на любом другом языке, а к php "прикрутить" с помощью функции exec.
Были мысли использовать python-функции blender'а, но без понятия, как это сделать. Если есть предложению, буду очень благодарен.
Если я правильно понял, есть холст, есть координаты запчастей, надо наложить запчасти на холст и отдать готовый жипег.
Есть в php расширение gd
Есть imagick как на php так и на стороне линуха для работы через exec
Дмитрий, не совсем так. если бы текстуры были простые, как паттерн, то можно было бы одним наложением на картинку все сделать. НО здесь будут сложные текстуры кирпича и брусчатки, здесь нужно учитывать наклоны, углы и пр. Поэтому лучше всего будет делать это на 3D-моделе, как в 3DMax.
В случае с Blender первое что приходит на ум. Запускать в CLI blender -b --python "путь к срипту"
скрипту передавать аргументы с данными,или сохранять нужные данные в файл а потом грузить из скрипта.
В python скрипте настройка сцены,наложение нужных текстур, ренден итд.
А много текстур всего? А частей? Возможно, если комбинаций не очень много, имеет смысл заранее сгенерировать все изображения и отдавать уже готовые? Думаю до 10 тысяч комбинаций можно и так поступить, заодно сервер разгрузите.