Как стать автором
Обновить

Комментарии 47

а код очень даже и хорошо комментированый!
знакомо... я своему прошлому преподу такую фразу (тока на русском) когда говорил, он отчет не листал, а сразу расписывался :)
Препод, нормально относящийся к фразе "Я не ожидаю, что Вы это поймёте"?! Ничего себе :)
Ну всегда ведь есть ученики, которые загоняются предметом больше препода.
Знаете, бывает такое, что знаешь лучше преподавателя. Но никто не ожидает от вас понимания, почему предмет не удалось сдать даже на "3".
Лучше перевести как «Мы и не надеялись, что вы это поймете».
НЛО прилетело и опубликовало эту надпись здесь
Если кто хочет действительно увидеть что такое красота кода и системы в целом, то поизучайте сорцы Unreal Engine.
Он ведь не доступен в открытом виде всем. Не могли бы вы избранные куски в отдельном посте выложить?
Здесь можно скачать Unreal Tournament Source Code (432)
http://files.filefront.com/Unreal+Tournament+Source+Code+432/;4379255;/fileinfo.html

Сражу скажу в основном там только хедеры (*.h) и собранные (*.lib) файлы. Но в некоторых хедерах реализованы методы.
Движок Unreal не всегда самый высокотехнологичный, но продуманный. Теперь я это увидел в исходниках. Если тот же Far Cry, Doom 3, Crysis отказываются запускаться или дико тормозят, то Unreal-овский движок, хоть и не летает, но дает нормально поиграть. Жаль только цена — почти $8000. А так, по сравнению с тем же Ogre3D, качество кода — красота. Им бы ещё выпустить free-версию первого UE, как это сделала id со своим Tech 3, цены бы им не было.
а я бы глянул исходники CoD4
НЛО прилетело и опубликовало эту надпись здесь
Это сорцы 1999 года. Посмотрите сорцы id Software этого же года. Я смотрел - процедурное программирование. В движке для Doom 3 они исправились, но догнать UE уже сложно в плане архитектуры. UE уже в 1997 заложил ОО структуру. Продуманная архитектура позволяет без проблем масштабировать всю систему. Большинство крупных программных разработок (систем) медленно умирают по причине невозможности дальнейшего масштабирования. В лучшем случае приходится переделывать все с "нуля".
John Carmack mentioned in his keynote at QuakeCon 2007 that the id Tech 5 engine will be OpenGL based, thus not requiring DirectX 10 to run.

Даже в ID Tech 5 до сих пор поддерживается один графический API и это заложено в ядре, в то время как UE кроме OGL поддерживает D3D, Software rendering, раньше работал с Glide. Это касается и других подсистем (звук, физика, контроллеры).
это не недостаток, это архитектурное решение.

OpenGL сам по себе кроссплатформенный и открытый API, (написанный изначально для idшного Quake), и id приложили немало труда к его доработке. Джон Кармак числится в списках авторов многих расширений OpenGL.
На самом деле это недостаток. "Завтра" выйдет навороченый 3D API с новыми технологиями рендера. UE просто добавит новый модуль (dll) и уже созданные ими игры просто динамически его подключат и смогут работать. А движок в котором жестко задается все на уровне ядра придется дописывать или же переделывать.

История OpenGL ведется с 1992 года. Компания Silicon Graphics создала его как открытый стандарт. Отсюда и первая часть названия, а GL означает Graphic Library (графическая библиотека). На данный момент OpenGL находится под контролем комитета Architectural Review Board (ARB), куда входят представители наиболее влиятельных в 3D-секторе корпораций - nVidia, ATI, SGI, Apple, Intel, id Software и Microsoft.

Open GL ну никак для игры Quake 2 не разрабатывался :)
Конечно, не для второго, а для первого Quake была написана реализация OpenGL, без которой он остался бы узкоспециализированным API для профессиональных графических станций.

..."Завтра" выйдет навороченная фича новой видеокарты, разработчик железа предложит расширение, ARB его утвердит и OpenGL немедленно будет его поддерживать. Это совместимость на структурно более низком уровне, чем в UE, чьи возможности к расширению ограничены обобщенной API-оберткой поверх GL, D3D и программным рендерером
Вот что что, а расширения ARB это дикий гемор, сталкивался не понаслышке. Open GL развивается очень медленно развивается, между версиями 1.1 и 1.4 прошло 4 года. Кроме того есть куча не ARB расширений, которые у каждой карточки свои и чтобы с ними работать начать нужно нехило попотеть (программировал).
и я программировал :)

в принципе, согласен, но такие общепринятые вещи, как ARB_shader_objects или ARB_multitexture давно уже есть везде и довольно легко обертываются.

Давайте еще вспомним несовместимость API разных версий DX, из-за которой для перехода с DX9 на DX10 надо рефакторить практически весь код
Я сейчас уже отдалился от темы 3d программирования да и вообще игровых движков (хотя с нуля разрабатывал двиг со встроенным скрипт языком, физику, ии, графический двиг). Перелопатил много двигов включая uepubsrc, q1, q2, genesis, ogre3d и т.д. всяких неизвестных разработчиков бесплатных двигов. Из архитектуры больше всего меня поразил именно подход UE. Ну а это результат того что получилось
http://img437.imageshack.us/img437/157/render80yt1jg.jpg

Проект не состоялся удаленность разрабов ну и как это всегда вывает на энтузиазме :) Выводы сделал включая по тому как нужно выбирать архитектуру.
НЛО прилетело и опубликовало эту надпись здесь
Привет Два Три Пять ;)
НЛО прилетело и опубликовало эту надпись здесь
так уже звучит культурно-адаптированным, меньше колорита в одной фразе :)
хотелось чем поближе к оригиналу. Если у них было желание объясниться чуть-чуть иначе - могли бы написать и "You do not need to understand sentence above". На самом деле мне это не особо принципиально, но мысль в их голове мне уже не понять и дословный перевод был для краткой фразы наиболее близким по духу
НЛО прилетело и опубликовало эту надпись здесь
достигли взаимонимания, такое в коментах редкость :)
Или может лучше "От вас не ожидается понимание вышенаписанного"?
емм.. а это уже чем-то принципиально отличается от заглавия? )
имхо, наиболее точный перевод — в заголовке темы
НЛО прилетело и опубликовало эту надпись здесь
а может, "А никто и не говорит что вы это поймёте" :)
Как раз сегодня в тему на del.icio.us проскочило:
Programming is like sex:
One mistake and you have to support it for the rest of your life.
Там еще и другого много, в основном бояны, но есть и кое-что стоящее.
Данный пример показывает, что программисты не лишены чувства юмора, причём это чувство не примитивные гэги.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
You are not expected to understand this.
НЛО прилетело и опубликовало эту надпись здесь
нихренасебе какой идиотский комментарий. слов нет даже )
НЛО прилетело и опубликовало эту надпись здесь
Слово "классика" пишется с двумя с
Не хватает еще надписей по типу "этот участок кода работает посредством магии - не пытайтесь его понять и не меняйте тут ничего" :)
Точно! Черной магии (символ FreeBSD - чертенок)
Еще в коде ядра линукса встретилась надпись примерно следующего содержания: "мы ждали вас здесь, мистер Бонд"
НЛО прилетело и опубликовало эту надпись здесь
:) был как-то раз случай, когда мне тоже пришла в голову идея откомментировать участок кода, в котором описывались жестокие штуки примерно таким текстом:


Lines below may have elements that rated like nc-17 mpaa rate.

That means:
Most parents would consider patently too adult for their children 17 and under.
No children will be admitted. NC-17 doesn't mean "obscene" or "pornographic"
in the common or legal meaning of those words, and shouldn't be construed
as a negative judgment in any sense.
The rating simply signals that the content is appropriate only for an adult audience.
An NC-17 rating can be based on violence, sex, aberrational behavior, drug abuse
or any other element that most parents would consider too strong
and therefore off-limits for viewing by their children.

Beware!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории