Archive for the ‘#gamedeff’ Category.

Publish @Zeux: GDC Report – A Survivor Reborn: Tomb Raider on DX11 – Jason Lacroix (Crystal Dynamics)

Итак, скандалы, интриги, расследования и как оно на самом деле – @Zeux транслировал с доклада про волосы Лары Крофт.

Continue reading ‘Publish @Zeux: GDC Report – A Survivor Reborn: Tomb Raider on DX11 – Jason Lacroix (Crystal Dynamics)’ »

Publish @Zeux: GDC Report – DirectCompute for Gaming: Supercharge your engine with Compute Shaders – Stephan Hodes and Layla Mah (AMD)

Задерживаюсь с постами про GDC, надо постить чаще. Буду догоняться!
Continue reading ‘Publish @Zeux: GDC Report – DirectCompute for Gaming: Supercharge your engine with Compute Shaders – Stephan Hodes and Layla Mah (AMD)’ »

Publish @Zeux: GDC report – Particle Shadows and Cache-Efficient Post-Processing – Louis Bavoil (NVIDIA)

Продолжаем публиковать записи с GDC. Доклады на GDC бывают нескольких разных типов, эти вот – разряда “вендоры железа и держатели платформ рассказывают разработчикам про практики”. Вендорам железа хочется, что разработчики делали хайтек и больше использовали новых фич и новых мощностей, они про это и рассказывают.

Continue reading ‘Publish @Zeux: GDC report – Particle Shadows and Cache-Efficient Post-Processing – Louis Bavoil (NVIDIA)’ »

Publish @AND, @Joker: Fun with polarizers

Дима Андреев из Visceral Games и Сергей Макеев из mail.ru рассказывают про домашние эксперименты с поляризаторами – как можно посмотреть на составляющие освещения реальных объектов отдельно друг от друга. Physically based rendering – модный тренд в реалтайм-графике: материалы и варианты их применения становятся все сложнее, и мысль о том, что вместо ручной настройки для каждого случая можно положиться на физическую корректность, очень притягательна.
Но для этого надо понимать, как эта физика освещения устроена и как работает в жизни.

В посте интересные картинки и отсылки к статьям, к прочтению рекомендуется.
Continue reading ‘Publish @AND, @Joker: Fun with polarizers’ »

Publish @Wraith: Ужасы социального 3D

Иногда случается эпическое, нельзя не запаблишить. @Max Volkov(Wraith) рассказывает про свой опыт хераченья 3d на флеше в Zynga East – они сделали на нем Cityville 2 и он полон впечатлений.

В качестве бонуса внизу @Ed Ryzhov про то, как он писал на флеше вот такой софтверный рендер – http://www.gamedev.ru/projects/forum/?id=154409.

Enjoy!
Continue reading ‘Publish @Wraith: Ужасы социального 3D’ »

Publish @jimon: Про тайловые рендеры общо

Рассказы про потроха и “как это все работает” часто случаются на ровном месте – кто-то спросил про некую конкретную деталь, а потом кто-то другой спросил “можно про это подробнее?”. Это то, почему беседы вживую такие полезные – возникают случаи рассказать и люди готовы рассказывать.

В этот раз в очередной раз коснулись темы мобильных GPU и то, как они внутри работают. Оно интересно и в смысле краткого экскурса, и в смысле некоторых низкоуровневых деталей (все, например, понимают почему и как именно альфа-тест на i-девайсах тормозит?)

Continue reading ‘Publish @jimon: Про тайловые рендеры общо’ »

Винтажный publish: Когда мы были молодыми

@kas откопал кусок старых логов #gamedeff, тогда еще из IRC.
Всегда удивительно, что ты думал аж восемь (восемь!) лет назад.

Итак, в связи с массовым внедрением в народное сознание всяческих бесплатных Unity и прочих UDK вот кусочек логов. на дворе 2004 год, вступление, интерлюдия, кода.
Continue reading ‘Винтажный publish: Когда мы были молодыми’ »

Publish @Ivan Gavrenkov: Как работает новое демо Square Enix

Да-да, то самое демо. Новое поколение консолей за углом, поэтому пришло время смотреть too good to be true tech demos. Под катом Ваня Гавренков рассказывает некоторые технические подробности и они, как мне кажется, хорошо показывают, почему итоговая реальность так от них отличается.
Спойлер: обмана нет, там действительно реалтайм.

Continue reading ‘Publish @Ivan Gavrenkov: Как работает новое демо Square Enix’ »

Publish @kas, @Joker, @Denis Sladkov, @Zeux: xxAA & stuff

Случилось подряд две беседы про антиалиасинг, надо запостить для истории. Откровений там никаких нет, скорее подтверждение статуса кво и небольшие трюки вокруг. Мне вот про блур масочки для OIT понравилось, надо попробовать.

Continue reading ‘Publish @kas, @Joker, @Denis Sladkov, @Zeux: xxAA & stuff’ »

Publish @Zeux: Кто рендеры писал…

People in this conversation:
Simon Kozlov Add
Zeux Add

Zeux: @All
Работать с OGRE сплошное удовольствие, столько фана! Вот тут странный баг на ipad – есть код который делает texture compositing для персонажей, запекая все в одну текстуру в рантайме. И вот достаточно редко (типа 1 из 10 запусков) на одном из персонажей текстурка серая (ее clear color – серый, т.е. ощущение, что ничего не рисуется). После определенного количества дебага выяснилось, что при загрузке текстур не степени двойки через Ogre в OpenGL ES делается glClear текущим цветом (соответственно, есть timing condition – если пока FBO composit текстуры еще активен решить что нам срочно нужно загрузить текстуру определенных размеров, то проявляется баг). И вот почему! (ценители OpenGL оценят)

Есть код, который блитает из текстуры в текстуру методом “временно привязать target текстуру к FBO и нарисовать квад с первой текстурой”. Он зачем-то дергается при загрузке текстуры с несовпадающими размерами (типа хотели 143×127, а пришлось 256×128). Вот код из desktop opengl:

void GLTextureBuffer::blitFromTexture(GLTextureBuffer *src, const Image::Box &srcBox, const Image::Box &dstBox)
{
/// Store reference to FBO manager
GLFBOManager *fboMan = static_cast<GLFBOManager *>(GLRTTManager::getSingletonPtr());

/// Save and clear GL state for rendering
glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT | GL_DEPTH_BUFFER_BIT | GL_ENABLE_BIT |
GL_FOG_BIT | GL_LIGHTING_BIT | GL_POLYGON_BIT | GL_SCISSOR_BIT | GL_STENCIL_BUFFER_BIT |
GL_TEXTURE_BIT | GL_VIEWPORT_BIT);

Вот эквивалент на OpenGL ES:

void GLESTextureBuffer::blitFromTexture(GLESTextureBuffer *src, const Image::Box &srcBox, const Image::Box &dstBox)
{
// Store reference to FBO manager
GLESFBOManager *fboMan = static_cast<GLESFBOManager *>(GLESRTTManager::getSingletonPtr());

// Save and clear GL state for rendering
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

Simon Kozlov: reply @Zeux
То есть, пацаны когда портировали не знали чем заменить glPushAttrib и нашли glClear?
Потому что мол некоторые флаги туда пролазят и в комментариях что-то про clear говорится?

Zeux: reply @Simon Kozlov
Ну да. Save не получилось так хоть clear сделаем!

This happened on #gamedeff