Сегодня в качестве темы, я решил взять отражения, а что бы не было совсем просто - рассмотрим не плоские зеркала, а 3D, которые реализуются через так называемые CubeMap-текстуры. Сразу хочу отметить, что если предыдущие темы были для меня более-менее знакомы, то с этой я разбирался с нуля, так что возможно будут какие-то неточности, если таковые обнаружатся, прощу исправлять меня в комментариях.
Показаны сообщения с ярлыком rust. Показать все сообщения
Показаны сообщения с ярлыком rust. Показать все сообщения
понедельник, 23 ноября 2015 г.
понедельник, 16 ноября 2015 г.
понедельник, 19 октября 2015 г.
Software render на Rust: добавляем текстуры
Одному и тому же цвету на всей модели, хоть и можно придать немного живости при помощи освещения, как было сделано в прошлой статье. Однако этого мало, необходимы текстуры. С одной стороны с ними все просто, выбирай пиксели по координатам, да рисуй, но если разобраться глубже, там существует на удивление много всяких тонкостей. И что плохо, мне не удалось найти готовых статей которые бы обобщённо рассказывали о тех вещах, которые я собираюсь донести, поэтому пост получился немного затянутым.
пятница, 25 сентября 2015 г.
appveyor - travis-ci под windows
Я недавно делал обзор travis-ci и пожаловался на то, что там нет возможности прогонять тесты на windows. В комментариях ozkriff дал ссылку на appveyor.com, спасибо ему. Сервис как раз и специализируется на создании продукта для continuous integration под windows. У меня наконец дошли руки до того, что бы посмотреть на то, что он умеет, результаты далее.
среда, 9 сентября 2015 г.
Software render на Rust: интерполяция атрибутов и освещение
В прошлой статье я показал как можно реализовать буфер глубины с помощью интерполяции значения 1/z. А так же сделал простейшую систему освещения, когда цвет рассчитывался целиком для треугольника. На низкополигональных моделях это выглядело ужасно, так рисовали много лет назад, когда производительности катастрофически не хватало. Сейчас даже ресурсов только процессора хватит, что бы сделать нормальное попиксельное освещение, чем мы сейчас и займёмся.
вторник, 1 сентября 2015 г.
Software render на Rust: переходим в 3d
В предыдущей статье, разобрались с отрисовкой одноцветного треугольника на плоскости. Теперь пора переходить в 3D. С нуля разработать математический аппарат по проецированию треугольника на плоскость - задача весьма нетривиальная. Однако за нас уже все сделали и упростили до такого уровня, что практическое использование осилит даже тот, кто прогуливал уроки математики в школе.
пятница, 28 августа 2015 г.
Небольшой обзор travis-ci
Наверняка многих, в своё время, не обошла стороной шумиха вокруг travis-ci. Это сервис для сборки и тестирования проектов на GitHub, относительно простой, но в принципе покрывающий большинство use case. По сравнению с тем же Jenkins, он выглядит малофункциональным, но тут преимущество в том, что за вас уже развёрнута инфраструктура, причём совершенно бесплатно.
понедельник, 24 августа 2015 г.
Software render на Rust: рисуем треугольник
Я уже давно хотел разобраться получше с Rust, что бы составить впечатление о языке. У них есть достаточно хорошая документация, которая к тому же переведена на русский, в интернете - куча статей. Но видно я не из тех, кто способен понять язык по книжкам. Поэтому было решено написать на нем, что-то более или менее крупное, в качестве задачи решил взять Software rendering, заодно университетский курс линейной алгебры вспомню. Тем более я уже когда-то давно писал его для конкурса (я там под ником Rean), правда исходники не сохранились, но зато в памяти остались общие моменты. Сразу оговорюсь: я не буду пошагово описывать все алгоритмы, которые я использую, иначе это будет не серия постов, а объёмная книга. Но постараюсь давать ссылки на материалы, которые, на мой взгляд, хорошо описывают что я делаю и комментаровать некоторе моменты. Так же буду выкладывать ссылки на мою реализацию в GitHub, местами корявую, частично из-за незнаний языка, частично из-за подзабытых алгоритмов. Всего этого должно быть в принципе достаточно для воспроизведения, при желании, моих результатов на любом другом языке. А для тех кому лень - будут картинки, по которым можно оценить прогресс.
понедельник, 27 апреля 2015 г.
Emacs как IDE для Rust
Многие слышали про такой язык программирования как Rust, это чрезвычайно, на мой взгляд, перспективный и интересный язык от Mozilla, про него сейчас часто пишут и говорят. Он пока еще очень молод (в данный момент доступна только beta версия), в связи с чем поддержки в модных и популярных IDE для него нет или она очень слабая, а попробовать и составить мнение о языке хочется. Как обычно, в таких случаях на помощь нам приходит emacs, в нем относительно легко можно настроить подсветку синтаксиса, компиляцию, автодополнение и т.п.
Подписаться на:
Сообщения (Atom)







