Проблема, скорее всего, в том, как вы переводите и вращаете матрицы. Сначала вы должны выполнить все свои переводы, а затем ротации.
Лучший способ устранения неполадок - наличие простого / базового варианта для проверки. Например, треугольник в начале координат (0,0,0). Расположите камеру на несколько точек назад по оси Z, а затем начните экспериментировать с переносами и вращениями. Как только вы освоите этот базовый тестовый пример, математика подойдет для всех остальных случаев.
Обязательно напишите больше кода, если вам нужна более конкретная помощь: -)