Рейтрейсер на D, часть 3: Камера, свет!

 3D  Комментарии отключены
Мар 122014
 

Здравствуйте дорогие посетители!

Сегодня мы с вами продолжим писать рейтрейсер, попутно изучая язык D.

Для тех кто пропустил предыдущую часть - рекомендуем начать с нее. Продолжаем писать рейтрейсер на D.

И так, в прошлый раз мы с вами реализовали загрузку сцены из внешнего JSON-файла и простейший поиск пересечения с объектами сцены. Уже неплохо, мы, по крайней мере, уже можем воочию наблюдать результаты нашей с вами работы. Однако картинка пока что не сильно симпатичная, да и вообще - довольно плоская. Сказывается отсутствие освещения. В этой части мы реализуем простейшее бликовое освещение методом Фонга. Самое крутое в рейтрейсинге - это то что при реализации освещения честные тени являются "бесплатным бонусом". Так же реализуем "камеру", загружать настройки которой мы так же будем из файла описания сцены. Приступим.

Читать далее »

Янв 132014
 

Здравствуйте дорогие посетители!

Сегодня мы с вами продолжим писать рейтрейсер, попутно изучая язык D.

Для тех кто пропустил предыдущую часть - рекомендуем начать с нее. Учим язык D на примере рейтрейсинга.

И так, в прошлый раз мы с вами создали каркас нашего будущего рейтрейсера. Во всяком случае приложение запускается и заполняет окно оранжевым цветом ;) Совсем неплохо.
Давайте выпишем основные блоки из которых должен состоять каждый уважающий себя рейтрейсер:

  • Tracer - класс, который собственно и занимается трассировкой лучей и синтезом конечного изображения
  • Scene - класс, представляющий трехмерную сцену, которую будет трассировать Tracer
  • Primitive (Plane, Sphere) - классы, представляющие объекты сцены (пока простейшие геометрические фигуры)

Читать далее »

Ноя 202013
 

    Здравствуйте дорогие посетители!

    Сегодня я бы хотел начать цикл статей посвященных языку D.

    В данной статье мы начнем наше знакомство с языком, попутно создавая каркас нашего приложения.

Итак, D - это современный, высокоуровневый, объектно-ориентированный, компилируемый язык. На свет данный язык программирования появился в далеком 2001-м году в стенах маленькой Американской компании Digital Mars, на счету которой уже был компилятор языков С и С++. В 2006-м году к проекту присоединяется известный гуру С++ - Андрей Александреску. С его приходом D получил новый виток в развитии, в результате которого появился D2 - улучшенный и доработанный D.

Читать далее »

© 2011 3D-Orange.com.ua
e-mail me

3D-Orange.com.ua is proudly powered by WordPress.
Suffusion theme by Sayontan Sinha