Если следовать правилам Physical-Based Rendering при создании шейдеров для Cycles, результат будет не хуже.
LuxRender разве настолько плотно интегрирован с Блендером, что сможет запечь текстуры?
Twindo: функционал, который предполагается общим для разных типов объектов надо выносить в отдельные функции, как в моем примере. Сложно сначала сломать свое мышление, заточенное под наследование, но этот подход имеет свои плюсы.