Pull to refresh

Comments 47

а код очень даже и хорошо комментированый!
знакомо... я своему прошлому преподу такую фразу (тока на русском) когда говорил, он отчет не листал, а сразу расписывался :)
Препод, нормально относящийся к фразе "Я не ожидаю, что Вы это поймёте"?! Ничего себе :)
Ну всегда ведь есть ученики, которые загоняются предметом больше препода.
Знаете, бывает такое, что знаешь лучше преподавателя. Но никто не ожидает от вас понимания, почему предмет не удалось сдать даже на "3".
Лучше перевести как «Мы и не надеялись, что вы это поймете».
UFO landed and left these words here
Если кто хочет действительно увидеть что такое красота кода и системы в целом, то поизучайте сорцы 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, цены бы им не было.
UFO landed and left these words here
Это сорцы 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

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


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!
Sign up to leave a comment.

Articles