Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование графики >> Компьютерная графика. Рейтрейсинг и растеризация.


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2114, книга: Нелегальная разведка
автор: Владимир Сергеевич Антонов

Книга "Нелегальная разведка" Владимира Антонова - это захватывающий и проницательный взгляд в мир секретных агентов, работающих под прикрытием. Антонов, сам бывший офицер разведки, раскрывает интригующие подробности реальных операций и вызовов, с которыми сталкиваются нелегальные разведчики. Книга охватывает широкий спектр тем, от вербовки до обучения и оперативной деятельности. Антонов предоставляет увлекательные примеры из собственного опыта, предлагая уникальное понимание...

Гэбриел Гамбетта - Компьютерная графика. Рейтрейсинг и растеризация.

Компьютерная графика. Рейтрейсинг и растеризация.
Книга - Компьютерная графика. Рейтрейсинг и растеризация..  Гэбриел Гамбетта  - прочитать полностью в библиотеке КнигаГо
Название:
Компьютерная графика. Рейтрейсинг и растеризация.
Гэбриел Гамбетта

Жанр:

Программирование графики

Изадано в серии:

Библиотека программиста

Издательство:

Питер

Год издания:

ISBN:

978-5-4461-1911-0

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Компьютерная графика. Рейтрейсинг и растеризация."

За красивыми образами анимационного фильма и реалистичной средой популярных видеоигр скрываются загадочные алгоритмы. В этой книге вы познакомитесь с двумя основными направлениями современной графики: рейтрейсингом и растеризацией. Такая литература пугает новичков из-за большого количества математики. Но только не в этом случае. Познакомьтесь с 3D-рендерингом без длинных формул! Вы создадите полноценные рабочие рендеры — рейтрейсинг, симулирующий лучи света и их отражение от объектов, растеризатор 3D-моделей, научитесь создавать реалистичные отражения и тени, а также отрисовывать сцены с любой точки обзора. Наглядные примеры с псевдокодом позволят без проблем создавать рендеры на любом языке, а живые JavaScript-демки каждого алгоритма вдохновят на самостоятельные подвиги.

Читаем онлайн "Компьютерная графика. Рейтрейсинг и растеризация.". [Страница - 22]

Interpolate(y0, x0, y1, x1)
x12 = Interpolate(y1, x1, y2, x2)
x02 = Interpolate(y0, x0, y2, x2)

Значения x для одной из сторон находятся в x02. Значения для другой стороны
берутся из объединения x01 и x12. Обратите внимание, что в x01 и x12 есть повторяющееся значение: x для y1 — одновременно последнее значение x01 и первое x12.
Нам нужно избавиться от одного из них (мы произвольно выбираем последнее
значение x01), после чего объединить эти массивы:
remove_last(x01)
x012 = x01 + x12

Tlgm: @it_boooks

106   Часть II. Растеризация
Мы получили x02 и x012, и теперь нужно определить, какой из них x_left, а какой
x_right. Для этого можно выбрать любую горизонтальную прямую (например,
среднюю) и сравнить ее значения x в x02 и x012. Если x в x02 окажется меньше, чем
x в x012, тогда x02 должен быть x_left, а если наоборот — x_right.
m = floor(x02.length / 2)
if x02[m] < x012[m] {
x_left = x02
x_right = x012
} else {
x_left = x012
x_right = x02
}

Теперь у нас есть все данные для отрисовки горизонтальных отрезков. Можно
использовать DrawLine, но она очень общая, а сейчас мы рисуем горизонтальные
прямые слева направо, значит, эффективнее будет использовать цикл for. Это даст
нам больше контроля над каждым рисуемым пикселем, что особенно пригодится
в дальнейшем.
В листинге 7.1 отражена завершенная функция DrawFilledTriangle.
Листинг 7.1. Функция для отрисовки закрашенных треугольников
DrawFilledTriangle (P0, P1, P2, color) {
 // Упорядочиваем точки, чтобы y0 --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Компьютерная графика. Рейтрейсинг и растеризация.» по жанру, серии, автору или названию:

Интерактивная трехмерная машинная графика. Л. Аммерал
- Интерактивная трехмерная машинная графика

Жанр: Программирование графики

Год издания: 1992

Серия: Машинная графика на языке Си

Другие книги из серии «Библиотека программиста»:

Чистый Python. Тонкости программирования для профи. Дэн Бейдер
- Чистый Python. Тонкости программирования для профи

Жанр: Python

Год издания: 2018

Серия: Библиотека программиста

C++17 STL Стандартная библиотека шаблонов. Яцек Галовиц
- C++17 STL Стандартная библиотека шаблонов

Жанр: Базы данных

Год издания: 2018

Серия: Библиотека программиста