Оптимизация кастомных мешей

Вот такой вопрос. Написал свой воксельный редактор и сверх того пишу игру (собсна редактор написан к ней). Игра на XNA. Игра непосредственно воксели не ест, я намерен ей скармливать лишь так сказать векторизованые воксели - т.е. только данные о поверхностях (возможно стоит сразу разбивать треугольники, насколько я знаю через вершинный буфер можно лишь треугольниками рисовать, верно?). Но дело в том что таких поверхностей достаточно много, все они разных цветов поэтом объединять их проблематично да и не везде можно. Технологию аля Marshing Cubes в данном случае буду применять только для LOD моделей. Как помимо отсечения по фруструму сократить количество рисуемых объектов? У меня вот родилась идея но не знаю насколько это поможет делу - трассировать луч к каждому фейсу (точнее к каждой точке фейса) через геометрию мира, если луч дошел фейс рисуем если нет - не рисуем. Единственный момент - это применимо лишь к ландшафту и статичным объектам. Хорошая ли это оптимизация? и как оптимизировать отрисовку других моделей (которые просто могут вращаться под произвольными углами к обозревателю и которых иногда будет крайне много)?