Что вам понадобится
Это книга для начинающих программистов в области графики; она также может послужить хорошим вводным текстом для тех, кто знаком с графикой на основе конвейера, кто хочет лучше понимать программируемый рендеринг.
То, чем эта книга не является, это книгой для начинающих программистов.
Ожидается, что вы сможете читать Си и разумный Си++ код. Если "Hello, world!" - это степень ваших знаний Си/Си++, то, возможно, вам стоит написать более содержательный код, прежде чем приступать к отрисовке изображений. Рендеринг трехмерной графики не является задачей для начинающего программиста; это так же верно для традиционного обучения графике, как и для обучения современной графике.
Эти уроки также должны быть переносимы на другие языки. Если вы умеете читать Си/Си++, то этого достаточно, чтобы понять, что делает код. Текстовых описаний, объясняющих, что делает код, также достаточно, чтобы получить информацию из этих уроков.
Любое содержательное обсуждение 3D рендеринга требует обсуждения математики, которая лежит в основе всей 3D графики. В этой книге вы должны знать основы геометрии и алгебры. В этой книге будут представлены более продвинутые математические знания, необходимые для работы с графикой по мере необходимости. Но вы должны иметь, по крайней мере, рабочее знание геометрии и алгебры. Линейная алгебра не требуется.
В исходных текстах этой книги в качестве API для рендеринга используется OpenGL. Вам не нужно знать OpenGL в начале работы, но для того, чтобы скомпилировать и запустить любой из этих кодов, вы должны иметь среду разработки, которая позволяет использовать OpenGL.
В частности, вам понадобится графическое оборудование, способное работать под управлением OpenGL версии 3.3. Это означает любой GeForce 8xxx или лучше, или любую карту Radeon HD-класса. Эти карты также называются "Direct3D 10 совместимыми", но вам не нужна Windows Vista или 7, чтобы использовать их расширенные возможности через OpenGL. У вас должна быть установлена самая последняя версия графических драйверов, доступная на главной странице производителя видеокарты. Помимо драйверов и фактического учебного дистрибутива, вам не нужно будет загружать или устанавливать что-либо еще для работы с OpenGL.
Будьте открыты
Эта книга предназначена для обучения программистов-графиков основам разработки графики. Самое главное, что вы можете привнести от себя - это желание учиться. Это также означает оставить предвзятые представления, а главное, не пытаться выучить что-то конкретное.
Часто программисты прочесывают интернет или перелистывают книги, ищут информацию о том, как выполнить какую-то конкретную задачу. Как только они найдут его, они попытаются скопировать этот код в свое приложение и посмотреть, смогут ли они заставить его работать. Этот метод может достичь результатов быстрее, но он затрудняет обучение, концентрируясь на достижении определенной цели эффекта вместо того, чтобы по-настоящему понимать, как это работает.
При первом обращении к этой книге постарайтесь не думать о какой-то конкретной проблеме. Вы можете держать определенную проблему в глубине души, но не позволяйте поиску решения вести ваше чтение. Вместо этого сосредоточьтесь на представленном материале. После того, как вы закончите книгу, вы сможете оглянуться назад и посмотреть, понимаете ли вы, как решить ту проблему, которую вы хотели решить.
Вы можете обнаружить, что у вас есть лучшее решение, чем вы думали бы в противном случае.