вторник, 3 декабря 2013 г.

воскресенье, 1 декабря 2013 г.

GPU Performance Chart

В голову пришла идея наглядно представить, как росла производительность GPU разных поколений за прошедшее десятилетие (для CPU это делать нет смысла - там всё скисло). Например, сложновато оценить производительность новых консолей Xbox One и PS 4 по отношению к старому и новому "железу". Поэтому с помощью Google Docs набросал небольшой график, данные для которого (теоретические GFLOP-ы) были взяты с TechPowerUp GPU Database .


Быстро становится понятно, насколько сильно устарели Xbox 360 и PS 3! И что производительность новых Xbox One и PS 4 находится на уровне GeForce GTX 480 (Fermi), что весьма неплохо, т. к. эта видекарта всего пару лет назад носила титул быстрейшей и все хотели иметь такую. Понятно и то, что если GPU будут прогрессировать в таком же темпе, то пропасть в производительности между ПК и консолями нового поколения за пару лет увеличится до неприличия, о чём и говорит NVidia.

понедельник, 18 ноября 2013 г.

Francis Unboxing a Playstation 4

Фрэнсис получил новую консоль, и уже успел её распечатать:


пятница, 15 ноября 2013 г.

Shader Art

Наткнулся на интересные галереи GLSL шейдеров, доступные для просмотра прямо в браузере:


Множество интересных эффектов прямо в фрагментных шейдерах. Большинство из них опираются всего на три параметра - позиция фрагмента (x, y) и время (time). Попадаются просто шедевры кодинга, когда целый ландшафт или модель описывается процедурно в шейдере! Красиво, но медленно даже на Radeon HD 7990 :) 

Программист графики может почерпнуть многие техники и трюки из подобных библиотек эффектов.

понедельник, 4 ноября 2013 г.

Chikaizpermi

Подсел на Чику из Перми. Записал на диск все их песни и слушаю по дороге на работу и обратно. Низкопробное творчество, но чем-то цепляет.

Очки Armani сменил на Ray-Ban
Даже не думай стоять со мной, хрен.

воскресенье, 3 ноября 2013 г.

Ray Tracing From the Ground Up

Решил посвятить свободное от работы время real-time рейтрейсингу. Первые результаты:


Луч тестируется на пересечение со сферами и треугольниками сцены. Если луч попадает на сферу, он отражается и тестируется его пересечение с треугольниками подиума. Вот так просто :)

Почему рейтрейсинг? Основная причина - неспособность растеризатора синтезировать изображение требуемого качества. Мне просто надоело выдумывать хаки, чтобы получилось изображение с нужным качеством. Возьмём те же тени - правильную пенумбру невозможно рассчитать, если силуэт объекта или его карта теней строится из одной точки. Penumbra wedges или blocker search не решают эту проблему - значит, эти подходы не дадут нужного качества (я уже не говорю про их сложность и прожорливость к вычислениям - а ведь это всё в рамках растеризации!). Правильный depth-of-field нужно делать с огромными хаками, т. к. растеризатор представляет собой pinhole камеру. Я уже не говорю про преломления - тут вообще тушите свет. И не рассказывайте мне про графику Battlefield 4. Мне - не надо.

Поэтому я решил на какое-то время оставить традиционные техники, связанные с растеризацией и покопать теорию по трассировке лучей, попытавшись реализовать на GPU некоторые эффекты. Например - те же тени. В последние годы скорость GPU значительно выросла, а при желании (и финансовых возможностях) в будущее можно заглянуть, вставив в системный блок SLI из 4 видеокарт. К слову - говорят, новые Hawaii замечательно масштабируются в CrossFire. Или всё-таки выбрать NVidia?


среда, 23 октября 2013 г.

Gravity

Фильм вдохновит многих мальчишек на попытку стать космонавтами!