[#] Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3.14 из 6
habrabot(difrex,1) — All
2015-01-31 03:00:02




# Содержание основного курса



* [Статья 1: алгоритм Брезенхэма][1]
* [Статья 2: растеризация треугольника + отсечение задних граней][2]
* [Статья 3: Удаление невидимых поверхностей: z-буфер][3]
* Статья 4: Необходимая геометрия: фестиваль матриц
* [4а: Построение перспективного искажения][4]
* [4б: двигаем камеру и что из этого следует][5]
* [Статья 5: Пишем шейдеры под нашу библиотеку][6]
* [Статья 6: Чуть больше, чем просто шейдер: просчёт теней][7]

### Улучшение кода

__

* [Статья 3.1: Настала пора рефакторинга][8]
* **[Статья 3.14: Красивый класс матриц][9]**
* как работает новый растеризатор



#### 4 Приветствие и вступление

_Нумерация в прошлой статье закончилась на 3, в этой будем продолжать нумеровать насквозь._ **UPD: ВНИМАНИЕ! Раздел, начиная с номера 3.1, 3.14 и 3.141 и далее, будет о тонкостях реализации основы основ компьютерной графики — линейной алгебры и вычислительной геометрии. О принципах графики пишет [haqreu][10], я же буду писать о том, как это можно внятно запрограммировать!** Эта статья является продолжением серии статей о практической реализации элементов вычислительной геометрии, и, в частности, программного отрисовщика, с использованием C++98. Мы с [haqreu][11] сознательно идем на использование прошлой версии стандарта и написание собственной геометрической библиотеки для того, чтобы, во-первых, выпустить код примеров, которые без особых трудностей будут компилироваться большинством имеющихся компиляторов, а во-вторых, чтобы в нашем коде не было ничего, что скрыто в недрах библиотеки. В статье излагаются вопросы реализации шаблона прямоугольной матрицы `template class mat;`

##### 4\.1 Благодарности

Я выражаю огромную признательность [haqreu][12], как основоположнику данного курса. Так держать! Я очень признателен [lemelisk][13] за предварительное рецензирование и ревью моих исходников. Спасибо за плодотворные дискуссии! [Познавательного чтения!][14]

[1]: http://habrahabr.ru/post/248153/
[2]: http://habrahabr.ru/post/248159/
[3]: http://habrahabr.ru/post/248179/
[4]: http://habrahabr.ru/post/248611/
[5]: http://habrahabr.ru/post/248723/
[6]: http://habrahabr.ru/post/248963/
[7]: http://habrahabr.ru/post/249139/
[8]: http://habrahabr.ru/post/248909/
[9]: http://habrahabr.ru/post/249101/
[10]: http://habrahabr.ru/users/haqreu/
[11]: http://habrahabr.ru/users/haqreu/
[12]: http://habrahabr.ru/users/haqreu/
[13]: http://habrahabr.ru/users/lemelisk/
[14]: http://habrahabr.ru/post/249101/#habracut