Дополню
Максим Тимофеев. Если картинки статичные или квазистатичные (цикличная анимация или известное перемещение камер по ограниченным позициям, например, обзор автомобиля 360 градусов), то надо заранее обсчитывать кадры с хорошим качеством в нормальных пакетах типа 3dsmax или blender, выдавая на клиент готовые png, возможно, послойно с прозрачностями.
Раньше я делал такое: обход здания по кругу с плавной заранее отрендеренной раскадровкой через 5 градусов (4-5 часов предварительного рендера в средненьком качестве). Где-то лежит в архиве, но это ещё даже на flash делалось.
Рендерить в браузере имеет смысл только истинно динамические изменяемые сцены или при сложном управлении камерой со стороны пользователя. Сейчас я пользуюсь three.js. При этом важно понимать, что высокого качества и фотореалистичности, сравнимых с тем же 3dsmax, от рендера на javascript, ждать не стоит. Для схематичной графики или абстрактных миров сойдёт, но не более.
Ну и как можно догадаться, динамически рендерить на стороне сервера нельзя в принципе из-за лагов. Только на клиенте.