Минутная задачка

Махонькая задачка на приятное щелканье в мозгу – аж три раза за одну задачку. Найти надо, разумеется, все решения. Спойлеры, традиционно для Кружочков, публикуются линками на http://gist.github.com – тыкайте осторожней!

http://public.closedcircles.com/posts/few-minute-problem

Tiled forward rendering

Тред аж двухгодичной давности – когда появились первые статьи про tiled forward shading. Мы там обсуждаем и метод, и его проблемы, и детали возможной реализации, и интересные трюки и детали.
Прочитал и вспомнил, как занимался графикой. Всплакнул, практически.

http://public.closedcircles.com/posts/tiled-forward-rendering

По следам WWDC

Как и все остальные интернеты, обсуждаем Metal и Swift, по итогам WWDC. Ждем теперь креатива от Гугла!

http://public.closedcircles.com/posts/wwdc-followup

Вчерашний неформат

А еще со мной постепенно происходит страшное – вместо того, чтобы спокойно писать код и оптимизировать количество инструкций, я еще провожу время в SQL, Google Analytics и вот-вот запущу R.
Один из сайд-эффектов – вот захожу на доклады не только про тек, а еще и про монетизацию.

Взрослею, наверное.

GDC 2014: Мелочи про F2P games

Последние технические доклады с GDC

Итак, добиваем транскрипты с GDC.

GDC 2014: Rendering in Ryse
Долгий и подробный рассказ про устройство рендера в Ryse от Crytek. Много мяса про Physically based rendering, персонажей, итд итп.

GDC 2014: Umbra Internals
Про детали использования Umbra, популярного middleware для расчета видимости объектов в реалтайме, в Witcher 3: Wild Hunt. Деталей значительно больше, чем в брошюрках Umbra, полезно и даже если вы его не используете.

Главное событие GDC

В последние несколько лет застой в развитии графических API на PC/Mac в общем-то уже стал статусом кво. Наш ROBLOX, скажем, работает на DX9 и в ус не дует (у нас там 15-20% XP все еще, например). Кроме отдельных AAA-игр, которых можно пересчитать по пальцам, у всех остальных все либо также, либо вообще нет десктопа как платформы.

Я часто рассказываю, что пришел в Windows Graphics в замечательный момент – Windows в целом перестал беспокоиться про трехмерную графику и геймдевелоперов. Не все в мире получили memo, но вот DirectX SDK снова вышел не раз в три месяца, а раз в три года, и многие стали что-то подозревать!

И вот ситуация разворачивается, так что похоже и ушел я из MS тоже в замечательный момент – DX12 решает вполне актуальные проблемы. Не знаю, как там у мужиков мысленный процесс работает, но кажется, что это реакция прежде всего на независимые инициативы AMD и в некотором смысле NVidia в мире PC, а не на конкуренцию со стороны Мака и мобильного мира.
Хотя казалось бы, беспокоиться-то надо про второе.

Итак, будет DX12 и он очень напоминает AMD Mantle. OpenGL тоже не стоит на месте, но пытается решить те же проблемы совсем другим способом.

А теперь подробнее.
Начинать читать лучше с замечательного рассказа Zeux про проблемы текущего состояния вещей:

http://public.closedcircles.com/posts/gdc-2014-mantle-directx12-and-dip-cost

В частности, потому что он не только о будущих графических API, а о том, почему все так плохо в текущем положении вещей. История графических API на PC/Mac – это история наслаивающихся абстракций, яростной эволюции железа под этими абстракциями, legacy, длящейся 10 лет итд итп. Про какую-то ее часть этой истории я писал тут и тут.
И вот стоимости этих абстракций постепенно накапливалась и накапливалась эти 10 лет, причем все это время все участники экосистемы в меру сил старались этому противостоять – и оптимизировали игры, и драйвера, и прослойку в операционной системе.
Тем не менее, имеем что имеем – ситуация очень показательная.

Далее есть отдельные детали про DX12 и OpenGL:
http://public.closedcircles.com/posts/gdc-2014-directx12
http://public.closedcircles.com/posts/gdc-2014-optimizing-driver-overhead-in-opengl

В общем, это все здорово, позитивно и должно было блин случиться 5 лет назад. Ох, как бы опять не получилось too little too late у родной компании.

Unity Dev Day at GDC 2014

Сходил на Unity Developer Day, посмотреть что происходит в побеждающей платформе для гейм-девелопмента. Наш ROBLOX тоже можно сказать платформа, только в более глобальном смысле, т.е. включает хостинг серверов, биллинг, источник трафика игроков и все разом. Посему посмотреть что происходит у мужиков, работающих с более взрослой аудиторией, всегда интересно.

Надо иметь ввиду, у меня несколько искаженная перспектива, я все время смотрю на платформу в целом, не только на клиентскую часть.

GDC 2014 Unity dev day: Introduction
GDC 2014 Unity dev day: New lighting pipeline
GDC 2014 Unity dev day: Export to WebGL

Мне самым значительным показался экспорт в asm.js и WebGL, но он к сожалению всем будет доступен нескоро. Обратно, от Unity Cloud у меня впечатление, что там надо очень много работать. У Unity совершенно замечательный тулсет и рантайм для клиента, а вот в так называемое облако и паблишинг делаются только первые шаги.

public.closedcircles и GDC 2014

Как можно заметить, весь новый контент проекта появляется в виде записей разговоров на http://closedcircles.com. Мы собрались и сделали это новой функцией Кружков – все публикуемые разговоры теперь видны на http://public.closedcircles.com/, у него есть RSS и трансляция в Твиттер.

Все оттуда можно и нужно к себе утаскивать, постить куда-то ссылки, итд итп.

Релевантное геймдеву и программированию я постараюсь выкладывать и здесь, а там – вообще все интересное, что происходит.

Мы там начали выкладывать записи с GDC 2014 – @zeuxcg ходил на много докладов и я на чуть.
Сейчас выложены транскрпиты с дня Advanced Visual Effects, дальше будут записи с Unity developer day и отдельные доклады.

GDC 2014: GPU Particle Systems
GDC 2014: DX11 Software Tesselation
GDC 2014: Vertex Shader Tricks
GDC 2014: Efficient Work Submission in Direct3D
GDC 2014: Yet another Tesselation Talk
GDC 2014: Using DX11.2 Tiled Resources
GDC 2014: Grass, fur and hair
GDC 2014: Tesselation in Call of Duty: Ghosts

Ну и бонус:
GDC 2014: PowerVR raytracing

Самое важное событие – пожалуй, анонс и сам факт существования DirectX 12. Следите за апдейтами!

Publish @Zeux: GDC report – DirectX 11 Performance Reloaded – Nick Thibieroz (AMD) and Holger Grun (NVIDIA)

Меж тем, прошло ежегодное мероприятие Game Developer Conference. Как обычно, можно посетовать, что про графику и суровый тек докладов все меньше, а про универсальные платформы для всех телефонов – все больше, но жизнь движется куда движется. Где, кстати, о GDC в рунете пишут еще?
Как и любая конференция, GDC не столько про доклады, сколько про возможность встретиться и пообщаться – вот например @wat выбрался в кои-то веки. Был очень рад всех увидеть, отлично посидели, надо чаще!
На Кружочках постепенно зарождается традиция транслировать интересные доклады в реалтайме, что по мне отлично дополняет просмотр слайдов, а иногда их и успешно заменяет. Можно у докладчиков спрашивать точнения на вопросы, возникшие по у других ходу итд. Будем их потихоньку выкладывать.
@Zeux ходил на много интересного по графике – спасибо и респекты за трансляции!

Алсо, прикрутил по случаю на http://blog.gamedeff.com Disqus comments, комментировать должно стать гораздо проще.
Continue reading ‘Publish @Zeux: GDC report – DirectX 11 Performance Reloaded – Nick Thibieroz (AMD) and Holger Grun (NVIDIA)’ »

@sim0nsays: GDC Report – Practical Implementation of Light Scattering – Egor Yusov (Intel)

И вот последний доклад с GDC – о том, как можно делать красивые light shafts.
Чтобы сразу показать картинки, главный линк – http://software.intel.com/en-us/blogs/2013/03/18/gtd-light-scattering-sample-updated.

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

А вот для вдохновения и забавных техник ознакомиться вполне полезно. Epipolar space вообще колбаса – как обычно оказывается, что есть куча интересного неиспользуемого матаппарата.

Continue reading ‘@sim0nsays: GDC Report – Practical Implementation of Light Scattering – Egor Yusov (Intel)’ »