Archive for September 2007

Кажется, дождь собирается

Баловался со своей черной прелестью, взял из GIT репозитория свежее ядро для ps3. Стал просматривать, что поменялось, взглянул на ps3fb.c и очень удивился. http://www.everfall.com/paste/id.php?kjjqgvpbncu0

Под катом - причина удивления. Судя по всему, Sony в Линуксе готова открыть RSX. Видимо, уже сейчас открыт push buffer.

Continue reading ‘Кажется, дождь собирается’ »

PC и performance – Latency

Как обычно, начнем издалека.
Дядя Herb Sutter работает в MS, и иногда устраивает аццкие отжыги.
Я наконец-то на один такой попал, и очень радовался. На умных мужиков всегда радостно поглядеть и послушать.
Для отчета – кроме Херба, видел живого Олександреску и живого Walter Bright (который “D”). У них тут, сцуко, гнездо.

Отжыг назывался “Machine Architecture: Things Your Programming Language Never Told You” (здесь можно скачать презентацию и видео) и был про конкретную часть abstraction penalty – Latency.

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

Continue reading ‘PC и performance – Latency’ »

ЕЗЫГ МОЙ. Брейн-дамп номер 1. Короткий, но про войну c GC.

GC сегодня не только GC, а ещё и иллюзия решения проблем lifetime-а.

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

Continue reading ‘ЕЗЫГ МОЙ. Брейн-дамп номер 1. Короткий, но про войну c GC.’ »

Robust unit cube clipping for shadow mapping

crossposted to zeuxcg.blogspot.com

Shadow mapping is my primary area of interest in computer graphics, so expect more posts on this topic. Today I’d like to tell about robust unit cube clipping regarding different projection matrix building techniques.

The task at hand is relatively simple – given a set of points representing shadow receivers and a set of points representing shadow casters, build a matrix that, while used for shadow rendering, maximizes shadow map utilization (both in terms of shadow map area and depth precision) and at the same time eliminates all shadow clipping artifacts. I have not implemented anything except directional light support properly, so expect another post sooner or later.

Note that all points are assumed to be in world space, and for a lot of algorithms it’s preferred to take vertices of convex hull of receivers, clipped by view frustum, instead of actual receivers’ vertices – it’s not always required, but for the sake of simplicity we will assume that all receivers’ points are inside view frustum. Of course casters’ points are arbitrary.

Continue reading ‘Robust unit cube clipping for shadow mapping’ »

GPGPU, считалка нормалмапа

Небольшой брейн-дамп о считалке нормалмепа.

[23:01] <Zemedelec> захотелось считать нормалмап по лов-поли + хай-поли и уникальному маппингу на лов-поли
Continue reading ‘GPGPU, считалка нормалмапа’ »

Particle rendering revisited

crossposted to zeuxcg.blogspot.com

Recently I was doing particle rendering for different platforms (D3D9, PS3, XBox360), and I wanted to share my experience. The method I came with (which is more or less the same for all 3 platforms) is nothing new or complex – in fact, I know people were and are doing it already – but nevertheless I’ve never seen it described anywhere, so it might help somebody.

The prerequisites are that we want a pretty flexible simulation (such as, all parameters are controlled by splines, and splines come from some particle editor – perhaps also there is some collision detection, or instead particles are driven by some complex physics only) – which means that (a) we don’t have a simple function position(time) (and likewise for other particle parameters), and (b) we don’t want to implement a fully GPU-based solution, with rendering to vertex buffer/streamout. After all, next-gen GPUs are not *that* powerful, we don’t have that many particles, and we often do not use all available cores (in case of PS3/360 at least) efficiently.

Continue reading ‘Particle rendering revisited’ »

Linux

В соответствии с парадигмой: “Нет нелицензионному софту.” Сижу и думаю – что мне мешает работать под Linux? Первое понятно сразу – это отсутствие DirectX, но это фигня, по данным разведки OpenGL 2.0 уже вроде неплохо под Линуксом пашет, и есть драйвера как для ATI так и для NVidia.

В последнее время всё меньше и меньше причин привязывающих меня к Windows. 3ds max нет на комьютере, вместо него Blender. Фотошопа тоже нет. Даже Far снесён, ибо нельзя его использовать в коммерческих целях. Как библиотеку для менюшек всяких используем vxWidgets. Может Visual C++ интерфейс настолько въелся в руки, что не отлипает? Да и то это очень условно – билд система visualа удручает своей тупой структурой, которая пожалуй больше мешает работать, чем помогает – cmake замена ей!

Канторово множество, аксиомы отделимости Хаусдорфа и проза жизни.

Иногда думаю, зачем провел годы в университете. Учили там много,  исключительно математике. Прошло семь лет после выпуска, и голова ощущается совсем пустой, абсолютно. И все чаще приходит мысль, что учили зазря… Но из туманного студенческого математического прошлого иногда выплывают идеи. Очень редко.

Continue reading ‘Канторово множество, аксиомы отделимости Хаусдорфа и проза жизни.’ »

Безобиднъй HLSL

Всем известно, что писать шейдера юзая HLSL надо внимательно и с проверкой по возможности ассемблера.
Continue reading ‘Безобиднъй HLSL’ »

организационное

Блог переехал на новую плошадку. Чуда не случилось, в очередной раз произошла половина пожара. Впрочем, сгорело на этот раз немного – сообщают, 1 комментарий.

Теория утверждает, что с новым сервером из Европы станет быстрее, а из Штатов наоборот. Та же самая теория относит Россию к Европе. Интересно, будет ли хоть чуть заметно на практике.

Если вдруг кто не заметил, у нас появился фид на Feedburner, под неожиданным названием Gamedeff. Пользователям RSS агрегаторов типа Google Reader подписываться настоятельно рекомендую именно на него, тк. встроенные WordPress фиды есть план в один прекрасный день отключить.

В другой прекрасный день есть план сделать список авторов. Которые не успеют отметиться в авторах, будут разъяснены за амбаром.