не спрашивайте меня почему, но мне нужно нарисовать трехмерную фигуру с помощью MFC. Я создал классы матриц и векторов. Я рассчитываю ViewMatrix (обратная матрица камеры) и проекционную матрицу.
Каждую вершину я умножаю на мировоззрение и матрицу проекции. Я делю этот вектор на W и получаю координаты x,y окна просмотра. Я также извлекаю квинтиллион из WorldViewMatrix и умножаю его на вектор нормали, чтобы получить нормаль этого многоугольника.
Я хочу вычислить цвет каждой точки треугольника, но я не знаю, как это сделать. Я могу создавать треугольники из проецируемых координат и для расчета света для каждой точки получать их положение путем умножения на обратную матрицу проекций. Но это слишком медленно.
Хотелось бы узнать, как это реализовано на реальных графических процессорах. У них есть вершинные и поинтовые и другие шейдеры. Я хочу сделать что-то вроде этого.