October 14th, 2009
Почему люди, когда слышат что плотность эфира составляет например 10^65 кг/м3, сразу впадают в ступор?
Я имею в виду тот самый "эфир", который вакуум, в котором нет никаких элементарных частиц и который вокруг нас и в нас же самих.
Почему они спрашивают, мол, "а как мы через него тогда движемся", и прочие нелепости?
Это похоже на античную философию, типа такого: "Почему Земля - это тоже планета, если Земля стоит в центре мироздания?".
В школе же рассказывают об упругости тел.
О том, что она возникает в результате электростатического взаимодействия между электронами атомов, из которых все мы состоим.
То есть чтобы что-то сопротивлялось движению, тело должно обладать не только массой, но ещё и зарядом.
Масса - это мера инертности, но не мера упругости или сопротивления движению.
Казалось бы, это проходят в школе, но головы людей (в том числе часто достаточно умных) забиты такими нелепостями.
И эти же люди не верят в Бога и спорят о мироздании, хотя по уровню развития ничем не отличаются от первобытных людей, верующих что гроза - это гнев богов.
Даже в такой науке как физика полно предубеждений, принимаемых как данность.
При этом большинство из этих данностей нелепы до абсурда.
Например тот же бред о невозможности двигаться быстрее скорости света.
Почему? Кто так решил и на основании чего?
Да просто так принято думать, потому что умные дядьки с умным видом так сказали, с начала в школе, а потом в институте.
Я имею в виду тот самый "эфир", который вакуум, в котором нет никаких элементарных частиц и который вокруг нас и в нас же самих.
Почему они спрашивают, мол, "а как мы через него тогда движемся", и прочие нелепости?
Это похоже на античную философию, типа такого: "Почему Земля - это тоже планета, если Земля стоит в центре мироздания?".
В школе же рассказывают об упругости тел.
О том, что она возникает в результате электростатического взаимодействия между электронами атомов, из которых все мы состоим.
То есть чтобы что-то сопротивлялось движению, тело должно обладать не только массой, но ещё и зарядом.
Масса - это мера инертности, но не мера упругости или сопротивления движению.
Казалось бы, это проходят в школе, но головы людей (в том числе часто достаточно умных) забиты такими нелепостями.
И эти же люди не верят в Бога и спорят о мироздании, хотя по уровню развития ничем не отличаются от первобытных людей, верующих что гроза - это гнев богов.
Даже в такой науке как физика полно предубеждений, принимаемых как данность.
При этом большинство из этих данностей нелепы до абсурда.
Например тот же бред о невозможности двигаться быстрее скорости света.
Почему? Кто так решил и на основании чего?
Да просто так принято думать, потому что умные дядьки с умным видом так сказали, с начала в школе, а потом в институте.
October 5th, 2009
Я кажется понял, почему у меня такой ступор в программировании.
Последние 5 месяцев буквально опускаются руки, не знаю за что взяться и с чего начать.
Так всегда бывает, когда нужно что-то резко модернизировать и улучшить, причём менять надо сразу всё и по многу.
Вспомнил старый приём, когда следует написать план действий и всё станет как на ладони.
Мне это уже много раз помогало в разные времена.
Накидал тут и ужаснулся.
( Читать план по модернизации моего графического движка. )
Скорее всего я если и сделаю всё это, то за пол года как минимум.
Радует одно: после всех изменений это будет уже практически готовый графический движок.
В лучшей форме, в какой он был когда-либо среди всех своих реинкарнаций.
Последние 5 месяцев буквально опускаются руки, не знаю за что взяться и с чего начать.
Так всегда бывает, когда нужно что-то резко модернизировать и улучшить, причём менять надо сразу всё и по многу.
Вспомнил старый приём, когда следует написать план действий и всё станет как на ладони.
Мне это уже много раз помогало в разные времена.
Накидал тут и ужаснулся.
( Читать план по модернизации моего графического движка. )
Скорее всего я если и сделаю всё это, то за пол года как минимум.
Радует одно: после всех изменений это будет уже практически готовый графический движок.
В лучшей форме, в какой он был когда-либо среди всех своих реинкарнаций.
September 30th, 2009
Почему 850 милионов треугольников в секунду - это мало?
А давайте посмотрим на Radeon 5870...
У него шина 256бит и память работает на частоте 4800 МГц.
Пропускная способность памяти - 153.6 гигаБайт в секунду.
Запомним это число, ведь пропускная способность видеопамяти - это всегда слабое место видеокарты.
Далее, что у нас ещё важно? Вычислительная мощность.
С ней у Radeon всегда полный порядок, и Radeon 5870 может выполнять по 320 суперскалярных инструкций за такт.
При частоте чипа 850 МГц мы получаем 2720 милиардов операций с плавающей запятой в секунду.
Это очень внушительное число.
И что при этом?
За один такт Radeon 5870 может собрать не более чем один треугольник.
То есть 850 млн треугольников в секунду.
Много скажете? А вот и нет, это очень мало.
Давайте прикинем, насколько сильно эта карта ограничена растеризатором.
Мы можем примерно посчитать сколько мы имеем вычислительной мощи и пропускной способности памяти на один треугольник.
Это 2720/0.850 = 3200 операций с плавающей запятой на треугольник!
И 153.6/0.850 = 180.7 Байт на треугольник.
Представим что у нас нет никакой тесселяции.
Даже в таком режиме растеризатор будет очень сильно ограничивать производительность по работе с геометрией.
Для солидности возьмём самый худший случай для нашего растеризатора.
Так сказать, напичкаем его треугольниками по самые гланды.
Мы можем рисовать треугольники с форматом в 3 float, то есть просто с координатами x, y, z.
Каждая вершина будет занимать 12 Байт.
Если это сетка, то на каждую вершину приходится по два треугольника.
Каждый треугольник в стрипе - это 1 индекс, пускай это будут int32.
То есть всего нам нужно 10 Байт на треугольник.
На каждую вершину при этом нам нужно потратить 4 инструкции DOT4, то есть фактически 40 операций с плавающей запятой.
Считаем:
3200/40 = 80
180.7/10 = 18
Безо всякой тесселляции нам необходимо увеличить скорость растеризатора в 18 раз!
А что если будет включен тесселлятор?
Даже страшно представить, придётся ускорить сборку треугольников ещё как минимум в 2-3 раза.
В Radeon 5870 два растеризатора, но либо один из них не работает, либо темп сборки снизился в 2 раза.
А факт в том, что растеризаторов можно сделать хоть 16, хоть 30 штук, всё равно будет мало.
А давайте посмотрим на Radeon 5870...
У него шина 256бит и память работает на частоте 4800 МГц.
Пропускная способность памяти - 153.6 гигаБайт в секунду.
Запомним это число, ведь пропускная способность видеопамяти - это всегда слабое место видеокарты.
Далее, что у нас ещё важно? Вычислительная мощность.
С ней у Radeon всегда полный порядок, и Radeon 5870 может выполнять по 320 суперскалярных инструкций за такт.
При частоте чипа 850 МГц мы получаем 2720 милиардов операций с плавающей запятой в секунду.
Это очень внушительное число.
И что при этом?
За один такт Radeon 5870 может собрать не более чем один треугольник.
То есть 850 млн треугольников в секунду.
Много скажете? А вот и нет, это очень мало.
Давайте прикинем, насколько сильно эта карта ограничена растеризатором.
Мы можем примерно посчитать сколько мы имеем вычислительной мощи и пропускной способности памяти на один треугольник.
Это 2720/0.850 = 3200 операций с плавающей запятой на треугольник!
И 153.6/0.850 = 180.7 Байт на треугольник.
Представим что у нас нет никакой тесселяции.
Даже в таком режиме растеризатор будет очень сильно ограничивать производительность по работе с геометрией.
Для солидности возьмём самый худший случай для нашего растеризатора.
Так сказать, напичкаем его треугольниками по самые гланды.
Мы можем рисовать треугольники с форматом в 3 float, то есть просто с координатами x, y, z.
Каждая вершина будет занимать 12 Байт.
Если это сетка, то на каждую вершину приходится по два треугольника.
Каждый треугольник в стрипе - это 1 индекс, пускай это будут int32.
То есть всего нам нужно 10 Байт на треугольник.
На каждую вершину при этом нам нужно потратить 4 инструкции DOT4, то есть фактически 40 операций с плавающей запятой.
Считаем:
3200/40 = 80
180.7/10 = 18
Безо всякой тесселляции нам необходимо увеличить скорость растеризатора в 18 раз!
А что если будет включен тесселлятор?
Даже страшно представить, придётся ускорить сборку треугольников ещё как минимум в 2-3 раза.
В Radeon 5870 два растеризатора, но либо один из них не работает, либо темп сборки снизился в 2 раза.
А факт в том, что растеризаторов можно сделать хоть 16, хоть 30 штук, всё равно будет мало.
September 18th, 2009
| О, да вы - биолог. |
Все, что растет и дышит, ваши лучшие друзья. У вас зацветают кактусы, к вам ластятся кошки. Вы - часть этого мира, вы от него без ума, и он отвечает вам взаимностью. Летними вечерами вы любите сидеть где-нибудь за городом, слушать, как растет трава, стрекочут кузнечики и постепенно утихает щебет птиц. И мир в этот момент вращается вокруг вас. |
| Пройти тест |
Какой-то бред, неправда ли?
У меня же по биологии всегда двойки были!
September 11th, 2009
| Процессор | R200 | R300 | R420 | R580 | R600 | RV670 | RV770 | RV870 |
| Техпроцесс | 150нм | 150нм | 130нм | 90нм | 80нм | 55нм | 55нм | 40нм |
| Площадь красталла | ~130мм² | 218мм² | ~280мм² | 350мм² | 428мм² | 192мм² | 260мм² | 338 мм² |
| Количество транзисторов | 60млн | 115млн | 160млн | 384млн | 700млн | 666млн | 956млн | 2150млн |
| Рабочая частота чипа (МГц) | 275 | 325 | 520 | 650 | 750 | 775 | 750 | 850 |
| Скалярных процессоров | 4x4 | 8x4 | 16x4 | 48x4 | 64x5 | 64x5 | 160x5 | 320x5 |
| Производительность (GFLOPS) | 8.8 | 20.8 | 66.6 | 250 | 480 | 496 | 1200 | 2720 |
| Количество TMU/ROP | 8/4 | 8/8 | 16/16 | 16/16 | 16/16 | 16/16 | 40/16 | 80/32 |
| Скорость текстурирования (GTexel/s) | 2.2 | 2.6 | 8.32 | 10.4 | 12 | 12.4 | 30 | 68 |
| Филлрейт (GPixel/s) | 1.1 | 2.6 | 8.32 | 10.4 | 12 | 12.4 | 12 | 27.2 |
| Филлрейт z/stencil (GPixel/s) | 1.1 | 2.6 | 8.32 | 10.4 | 24 | 24.8 | 48 | 108.8(?) |
| Эффективная частота памяти (МГц) | 550 | 540 | 1120 | 1550 | 2000 | 2250 | 3600 | 4800 |
| Ширина шины памяти | 128 bit | 256 bit | 256 bit | 256 bit | 512 bit | 256 bit | 256 bit | 256 bit |
| Тип памяти | GDDR | GDDR | GDDR3 | GDDR3 | GDDR4 | GDDR4 | GDDR5 | GDDR5 |
| Пропускная способность памяти (ГБ/с) | 8.8 | 17.3 | 35.8 | 49.6 | 128 | 72 | 115.2 | 153.6 |
| Версия Direct3D | 8.1 | 9 | 9.b | 9.c | 10 | 10.1 | 10.1 | 11 |
| Потребляемая мощность | <45 Вт | ~45 Вт | 70 Вт | 120 Вт | 215 Вт | 105 Вт | 160 Вт | 188 Вт |
| Дата анонса | 10.2001 | 08.2002 | 05.2004 | 01.2006 | 04.2007 | 11.2007 | 06.2008 | 09.2009 |
Намерено не стал писать про R360, так как от R300 он отличается только частотой 412 МГц и памятью типа GDDR2.
R480 от R420 также почти не отличается.
R520 просуществовал всего 3 месяца до анонса R580, а по характеристикам мало чем отличается от R480.
Правда, при этом поддерживает D3D 9.c.
September 8th, 2009
Московское метро - это самое адское место на Земле.
Я вам это докажу...
Человек загородил вход в вагон и поплатился жизнью:

Что бывает с теми, кто прислоняется к дверям:

Будьте бдительны.
Я вам это докажу...
Человек загородил вход в вагон и поплатился жизнью:

Что бывает с теми, кто прислоняется к дверям:

Будьте бдительны.
September 6th, 2009
Есть в графических чипах ATI/AMD какой-то юношеский запал.
Они всегда революционные, во всём самые первые, отметающие всё что было до этого.
Всегда впереди планеты всей в математической дури, в ветвлениях и количестве регистров.
Их GPU - это всегда какой-то адский числодробильный конвейер, который представляет собой или гениальную новаторскую мысль инженеров или какие-то веганские технологии, в отличие от жирных и неповоротливых GeForce'ов, до отказа забитых текстурниками и процессорами растеризации с сотнями милионов непонятно зачем воткнутых транзисторов.
Каждое поколение начато с нового листа, с почти полным переделыванием всей архитектуры и каждого блока по отдельности. Ничего лишнего не остаётся, все старые кишки убираются и вот он выходит новый опять революционный чип, с новой революционной архитектурой, которую ещё никогда не видел мир.
Каждый новый чип - это новый элегантный в своей простоте автомат Калашникова, Су-27 или Т-34, кому что больше нравится. Вдвое или втрое мощнее предыдущего, с минимумом затрат, и конечно же с демократичной ценой, чтобы любой Вася Пупкин смог прикоснуться к великому и непостижимому.
Как можно не любить ATI после этого?
Был только один чип от NVidia, которым невозможно не восхищаться - это G80.
Вот только с тех пор прошло уже 3 года, и ничего лучше так и не появилось.
Они всегда революционные, во всём самые первые, отметающие всё что было до этого.
Всегда впереди планеты всей в математической дури, в ветвлениях и количестве регистров.
Их GPU - это всегда какой-то адский числодробильный конвейер, который представляет собой или гениальную новаторскую мысль инженеров или какие-то веганские технологии, в отличие от жирных и неповоротливых GeForce'ов, до отказа забитых текстурниками и процессорами растеризации с сотнями милионов непонятно зачем воткнутых транзисторов.
Каждое поколение начато с нового листа, с почти полным переделыванием всей архитектуры и каждого блока по отдельности. Ничего лишнего не остаётся, все старые кишки убираются и вот он выходит новый опять революционный чип, с новой революционной архитектурой, которую ещё никогда не видел мир.
Каждый новый чип - это новый элегантный в своей простоте автомат Калашникова, Су-27 или Т-34, кому что больше нравится. Вдвое или втрое мощнее предыдущего, с минимумом затрат, и конечно же с демократичной ценой, чтобы любой Вася Пупкин смог прикоснуться к великому и непостижимому.
Как можно не любить ATI после этого?
Был только один чип от NVidia, которым невозможно не восхищаться - это G80.
Вот только с тех пор прошло уже 3 года, и ничего лучше так и не появилось.
В инете есть прикольный блог, который ведётся одним чудаком из Германии.
http://citavia.blog.de/
В блоге выкладывается информация о новой x86-архитектуре AMD, разработка которой ведётся вот уже 4 года.
Выход процессоров намечен на 2011 год с использованием 32нм техпроцесса.
Это самое серьёзное обновление архитектуры со времён процессоров Athlon (1999 года).
Последние 10 лет AMD только и занималась оптимизацией работы с памятью и кэшированием. Теперь настал черёд нарастить мощность вычислительных блоков, и главное нововведение процессора заключается в кластерной архитектуре. Что это такое - я без понятия, но звучит крайне интересно. В каждом ядре будет по два вычислительных кластера, раньше такого не было.
Вдвое больше кластеров и на 33% больше исполнительных блоков в каждом. При этом Bulldozer сразу выйдет как 8-ядерный процессор. Появятся инструкции MAD как в GPU, которые во многих случаях дают двукратный прирост.
По идее, ядро Bulldozer будет процентов на 70% мощнее, чем нынешнее ядро K-10.
А если использовать OpenCL, то будет заметен прирост побольше, потому что распараллеливанием и оптимизацией инструкций будет заниматься драйвер, а не ты сам.
http://citavia.blog.de/
В блоге выкладывается информация о новой x86-архитектуре AMD, разработка которой ведётся вот уже 4 года.
Выход процессоров намечен на 2011 год с использованием 32нм техпроцесса.
Это самое серьёзное обновление архитектуры со времён процессоров Athlon (1999 года).
Последние 10 лет AMD только и занималась оптимизацией работы с памятью и кэшированием. Теперь настал черёд нарастить мощность вычислительных блоков, и главное нововведение процессора заключается в кластерной архитектуре. Что это такое - я без понятия, но звучит крайне интересно. В каждом ядре будет по два вычислительных кластера, раньше такого не было.
Вдвое больше кластеров и на 33% больше исполнительных блоков в каждом. При этом Bulldozer сразу выйдет как 8-ядерный процессор. Появятся инструкции MAD как в GPU, которые во многих случаях дают двукратный прирост.
По идее, ядро Bulldozer будет процентов на 70% мощнее, чем нынешнее ядро K-10.
А если использовать OpenCL, то будет заметен прирост побольше, потому что распараллеливанием и оптимизацией инструкций будет заниматься драйвер, а не ты сам.
September 2nd, 2009
| Ваше отношение к окружающим | |
| Авторитарность низкая | уверенный в себе человек, но не обязательно лидер, упорный и настойчивый. |
| Эгоистичность низкая | эгоистических качеств не найдено |
| Агрессиия умеренная | упрямый, упорный, настойчивый и энергичный. |
| Подозрительность высокая | критичный, необщительный, испытывает трудности в интерперсональных контактах из-за неуверенности в себе, подозрительности и боязни плохого отношения, замкнутый, скептичный, разочарованный в людях, скрытный, свой негативизм проявляет в вербальной агрессии. |
| Подчиняемость умеренная | скромный, робкий, уступчивый, эмоционально сдержанный, способный подчиняться, не имеет собственного мнения, послушно и честно выполняет свои обязанности. |
| Зависимость умеренная | конформный, мягкий, ожидает помощи и советов, доверчивый, склонный к восхищению окружающими, вежливый. |
| Дружелюбность низкая | дружелюбие близко к нулю |
| Альтруистичность низкая | ответственный по отношению к людям, деликатный, мягкий, добрый, эмоциональное отношение к людям проявляет в сострадании, симпатии, заботе, ласке, умеет подбодрить и успокоить окружающих, бескорыстный и отзывчивый. |
| Доминирование и дружелюбие | |
| Доминирование | -13.5 |
| Дружелюбие | -2.7 |
| пройти тест | |
August 17th, 2009
Новый драйвер для видеокарт AMD откровенно радует.
9.8 (2009 год, август) разом принёс в OpenGL поддержку всего того, что мне необходимо:
GL_AMD_vertex_shader_tessellator (потерял экспериментальный статус, хотя появился ещё год назад)
GL_ARB_geometry_shader4 (новая стадия конвейера, которая мне так была нужна)
GL_ARB_uniform_buffer_object (разом отправляем в шейдер блоки данных и храним их в видеопамяти)
GL_NV_explicit_multisample (можно читать отдельные слои multisample текстуры)
По сути, мне больше вообще ничего не нужно из функционала современных видеокарт, чтобы реализовать всё задуманное. Все 4 расширения ключевые для моего мега-движка.
Теперь остаётся только писать и писать код, и отлаживать его.
По умолчанию, как и надо, инициализируется контекст OpenGL 2.1. Контекст OpenGL 3.0 убрали, автоматически создаётся контекст OpenGL 3.1 с расширением GL_ARB_compatibility.
Форвард-контекст у меня создаётся и вроде бы работает, шейдеры компилируются, текстуры и буферы загружаются, но на экране всё чёрное.
Не понимаю пока в чём дело, хотя это не важно, потому что в этом контексте всё нужное есть. И оно поддерживается обоими ведущими вендорами.
NVidia по ходу вообще не собирается менять что-либо с контекстами и поддерживает тонны устаревшего говна, предлагая сразу OpenGL 3.2 (вместо 2.1 как по стандарту) и AMD идёт по тому же пути, набирая в свой рацион старые расширения (взять те же GL_EXT_pixel_buffer_object и GL_EXT_geometry_shader4, которые были добавлены за два последних месяца, при том что уже давно есть их аналоги, вошедшие в ядро).
Да, AMD - это совсем не ATI, и с драйверами для OpenGL изменения заметны невооружённым глазом.
9.8 (2009 год, август) разом принёс в OpenGL поддержку всего того, что мне необходимо:
GL_AMD_vertex_shader_tessellator (потерял экспериментальный статус, хотя появился ещё год назад)
GL_ARB_geometry_shader4 (новая стадия конвейера, которая мне так была нужна)
GL_ARB_uniform_buffer_object (разом отправляем в шейдер блоки данных и храним их в видеопамяти)
GL_NV_explicit_multisample (можно читать отдельные слои multisample текстуры)
По сути, мне больше вообще ничего не нужно из функционала современных видеокарт, чтобы реализовать всё задуманное. Все 4 расширения ключевые для моего мега-движка.
Теперь остаётся только писать и писать код, и отлаживать его.
По умолчанию, как и надо, инициализируется контекст OpenGL 2.1. Контекст OpenGL 3.0 убрали, автоматически создаётся контекст OpenGL 3.1 с расширением GL_ARB_compatibility.
Форвард-контекст у меня создаётся и вроде бы работает, шейдеры компилируются, текстуры и буферы загружаются, но на экране всё чёрное.
Не понимаю пока в чём дело, хотя это не важно, потому что в этом контексте всё нужное есть. И оно поддерживается обоими ведущими вендорами.
NVidia по ходу вообще не собирается менять что-либо с контекстами и поддерживает тонны устаревшего говна, предлагая сразу OpenGL 3.2 (вместо 2.1 как по стандарту) и AMD идёт по тому же пути, набирая в свой рацион старые расширения (взять те же GL_EXT_pixel_buffer_object и GL_EXT_geometry_shader4, которые были добавлены за два последних месяца, при том что уже давно есть их аналоги, вошедшие в ядро).
Да, AMD - это совсем не ATI, и с драйверами для OpenGL изменения заметны невооружённым глазом.
August 15th, 2009
August 14th, 2009
Наконец-то заставил себя делать это, уже целый год откладывал.

Мой алгоритм построения теней позволяет легко сделать тень мягкой с аналитической точностью. Всё зависит от математической модели (я выбрал самую простую).
Сегодня целый день трахаюсь с этим, местами получается очень круто, но количество артефактов просто зашкаливает.
Самые большие сложности не в поиске вершин (с этим вообще никаких проблем), а в том, чтобы найти индексы. Пропускаю некоторые из треугольников и получаются дырки.
Не понимаю в чём дело, наверно завтра доделаю.
Теперь сложность реализации моего алгоритма имеет реальное оправдание, потому что как shadowmap, так и shadow volumes в производительности резко устапают моим теням, при сопоставимом или худшем качестве.
Мой алгоритм построения теней позволяет легко сделать тень мягкой с аналитической точностью. Всё зависит от математической модели (я выбрал самую простую).
Сегодня целый день трахаюсь с этим, местами получается очень круто, но количество артефактов просто зашкаливает.
Самые большие сложности не в поиске вершин (с этим вообще никаких проблем), а в том, чтобы найти индексы. Пропускаю некоторые из треугольников и получаются дырки.
Не понимаю в чём дело, наверно завтра доделаю.
Теперь сложность реализации моего алгоритма имеет реальное оправдание, потому что как shadowmap, так и shadow volumes в производительности резко устапают моим теням, при сопоставимом или худшем качестве.
August 3rd, 2009
Вышла долгожданная спецификация OpenGL 3.2, которая наконец-то убрала разрыв между OpenGL и Direct3D 10.
Что добавили в OpenGL 3.2:
- геометрические шейдеры GL_ARB_geometry_shader4 - самая важная фича, на которой построены мои алгоритмы для рассчётов теней.
- чтение из буферов мультивыборки и задание их позиций GL_ARB_texture_multisample - необходимо для мультисемплинга.
- новые команды для отрисовки со смещением индексов GL_ARB_draw_elements_base_vertex.
- управление синхронизацией GL_ARB_sync - вещь крайне нужная, но надо разбираться.
- управление плоской интерполяцией в вершинном шейдере GL_ARB_provoking_vertex.
- а также муть типа: GL_ARB_depth_clamp, GL_ARB_seamless_cube_map, GL_ARB_fragment_coord_conventions (не понимаю пока ещё, что это всё, но это не такие важные вещи).
Сейчас в OpenGL нет разве что прекомпиляции шейдеров, которая впрочем мало кому нужна.
Итого получается, что OpenGL 3 вводит целых 37 новых расширений (!), и все в ядре.
Не представляю, кстати, как новичкам с OpenGL 3 разбираться, ведь даже те кто занимаются графикой давно, часто попадают в ступор от новых спецификаций. А также, жутко не хватает нормальных хедеров и дров.
В добавок вышли расширения:
GL_ARB_draw_buffers_blend
GL_ARB_sample_shading
GL_ARB_texture_cube_map_array
GL_ARB_texture_gather
Которые по ходу дела направлены на железо уровня Direct3D 10.1. Остаётся дождаться дров от AMD с поддержкой всего этого, месяца три наверно пройдёт.
Вобщем, браво Khronos. Год назад выпустили какой-то выкидыш и под пинками столько наверстали за короткое время.
Что добавили в OpenGL 3.2:
- геометрические шейдеры GL_ARB_geometry_shader4 - самая важная фича, на которой построены мои алгоритмы для рассчётов теней.
- чтение из буферов мультивыборки и задание их позиций GL_ARB_texture_multisample - необходимо для мультисемплинга.
- новые команды для отрисовки со смещением индексов GL_ARB_draw_elements_base_vertex.
- управление синхронизацией GL_ARB_sync - вещь крайне нужная, но надо разбираться.
- управление плоской интерполяцией в вершинном шейдере GL_ARB_provoking_vertex.
- а также муть типа: GL_ARB_depth_clamp, GL_ARB_seamless_cube_map, GL_ARB_fragment_coord_conventions (не понимаю пока ещё, что это всё, но это не такие важные вещи).
Сейчас в OpenGL нет разве что прекомпиляции шейдеров, которая впрочем мало кому нужна.
Итого получается, что OpenGL 3 вводит целых 37 новых расширений (!), и все в ядре.
Не представляю, кстати, как новичкам с OpenGL 3 разбираться, ведь даже те кто занимаются графикой давно, часто попадают в ступор от новых спецификаций. А также, жутко не хватает нормальных хедеров и дров.
В добавок вышли расширения:
GL_ARB_draw_buffers_blend
GL_ARB_sample_shading
GL_ARB_texture_cube_map_array
GL_ARB_texture_gather
Которые по ходу дела направлены на железо уровня Direct3D 10.1. Остаётся дождаться дров от AMD с поддержкой всего этого, месяца три наверно пройдёт.
Вобщем, браво Khronos. Год назад выпустили какой-то выкидыш и под пинками столько наверстали за короткое время.
Первые кассеты, в покупке которых я участвовал - это Rammstein Live Aus Berlin и Marilyn Manson - The last tour on Earth.
Ладно там если бы метал какой-нибудь слушал, так нет, я слушал самых ебанутых уродов, которых только можно было найти в моём информационном пространстве.
Даже тексты читал, и с Мэрилином Мэнсоном очень во многом был согласен. Мне были очень близки его ненависть к человечеству и вся эта раздражительность, которая из него так и пёрла в то время.
August 2nd, 2009
У меня был очень большой творческий перерыв, где-то на полтора года.
Гитарный комбик не в строю, когда починю - не знаю.
Но есть синтезатор, и вроде стало получаться наруливать на нём звук. Играю на клавишных ужасно, но для моей музыки многого и не нужно.
Вобщем, теперь я снова пишу музыку, как и раньше, но немного другую.
Сейчас есть три записи, все они написаны под вдохновением от одного и того же человека и обращены к нему же. Как и всегда, я пишу музыку когда происходят какие-то потрясения или переживания в личной жизни, разумеется, неудачные :-)
Кому интересно, послушать можно здесь:
http://www.realmusic.ru/songs/61772 8
http://www.realmusic.ru/songs/62863 9
http://www.realmusic.ru/songs/63066 3
Гитарный комбик не в строю, когда починю - не знаю.
Но есть синтезатор, и вроде стало получаться наруливать на нём звук. Играю на клавишных ужасно, но для моей музыки многого и не нужно.
Вобщем, теперь я снова пишу музыку, как и раньше, но немного другую.
Сейчас есть три записи, все они написаны под вдохновением от одного и того же человека и обращены к нему же. Как и всегда, я пишу музыку когда происходят какие-то потрясения или переживания в личной жизни, разумеется, неудачные :-)
Кому интересно, послушать можно здесь:
http://www.realmusic.ru/songs/61772
http://www.realmusic.ru/songs/62863
http://www.realmusic.ru/songs/63066
July 29th, 2009
Когда я кому-то пытаюсь поведать своё восприятие игр типа Doom 3 или Quake 4, то превращаюсь в ребёнка, который не может подобрать правильные слова и захлёбывается от эмоций.
Я уже много раз говорил что атмосфера - это для меня главное в любой игре.
Так вот, Quake 4 - это не очень грамотно сделанная игра, в том плане что она не передаёт дух второй части (по сценарию это её продолжение). И редко кто способен воспринять его полноценно, в том числе и я в первый раз совсем не понял эту игру (музыка кстати весьма уёбищна).
Но когда я проходил во второй раз, то проникся идеей.
Главная и самая ужасная идея Quake 4 - это фабрика, в которой люди используются как сырьё для создания киборгов, воюющих опять же против людей. Люди используются во всевозможных механизмах, они продолжают жить, но их тела им не подчиняются, жизнь превращается в бесконечные страдания.
Это ведь намного страшнее чем ад в его обычном понимании, не так ли?
Даже если отбросить эти вещи, в игре очень много жёстких и очень брутальных моментов, таких как например высадка десанта, который за пару секунд погибает на твоих глазах. Сама высадка - это тебя сажают в какую-то капсулу и выстреливают как из пушки с каким-то диким свистом.
Озвучка очень сильно портит игру, но всё равно передаёт то, что пытались донести.
Я уже много раз говорил что атмосфера - это для меня главное в любой игре.
Так вот, Quake 4 - это не очень грамотно сделанная игра, в том плане что она не передаёт дух второй части (по сценарию это её продолжение). И редко кто способен воспринять его полноценно, в том числе и я в первый раз совсем не понял эту игру (музыка кстати весьма уёбищна).
Но когда я проходил во второй раз, то проникся идеей.
Главная и самая ужасная идея Quake 4 - это фабрика, в которой люди используются как сырьё для создания киборгов, воюющих опять же против людей. Люди используются во всевозможных механизмах, они продолжают жить, но их тела им не подчиняются, жизнь превращается в бесконечные страдания.
Это ведь намного страшнее чем ад в его обычном понимании, не так ли?
Даже если отбросить эти вещи, в игре очень много жёстких и очень брутальных моментов, таких как например высадка десанта, который за пару секунд погибает на твоих глазах. Сама высадка - это тебя сажают в какую-то капсулу и выстреливают как из пушки с каким-то диким свистом.
Озвучка очень сильно портит игру, но всё равно передаёт то, что пытались донести.
July 17th, 2009
Забавно, когда всё происходит точно так, как ты задумывал несколько месяцев назад (причём когда результат не зависит от тебя вообще).
Сегодня 17 июля и сегодня вышел бета драйвер Catalyst 9.7, который обещает поддержку геометрических шейдеров в OpenGL.
Наверно трудно в это поверить, но буквально в апреле я писал, что если к моему дню рождения не будет GS в OpenGL у AMD, то я куплю себе GeForce :-)
Сейчас в строке расширений ещё нет GL_ARB_geometry_shader4, но уже есть такие вещи, как:
- Geometry Shader Texture Units: 16
- Max Geometry Uniform Components: 4096
Видимо, в AMD решили не наступать на старые грабли и добавить расширение в строку тогда, когда оно будет работать нормально, то есть в августе.
Сегодня 17 июля и сегодня вышел бета драйвер Catalyst 9.7, который обещает поддержку геометрических шейдеров в OpenGL.
Наверно трудно в это поверить, но буквально в апреле я писал, что если к моему дню рождения не будет GS в OpenGL у AMD, то я куплю себе GeForce :-)
Сейчас в строке расширений ещё нет GL_ARB_geometry_shader4, но уже есть такие вещи, как:
- Geometry Shader Texture Units: 16
- Max Geometry Uniform Components: 4096
Видимо, в AMD решили не наступать на старые грабли и добавить расширение в строку тогда, когда оно будет работать нормально, то есть в августе.
July 11th, 2009
Был на этой неделе на даче.( Убедитесь что вам уже есть 18 лет )

Все, что растет и дышит, ваши лучшие друзья. У вас зацветают кактусы, к вам ластятся кошки. Вы - часть этого мира, вы от него без ума, и он отвечает вам взаимностью. Летними вечерами вы любите сидеть где-нибудь за городом, слушать, как растет трава, стрекочут кузнечики и постепенно утихает щебет птиц. И мир в этот момент вращается вокруг вас.
