Сегодня 08 октября 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Аналитика

Джон Кармак - мысли вслух (.plan)

Name: John Carmack 
Email: 
Description: Programmer 
Project: 
Last Updated: 06/27/2002 21:18:25 (Central Standard Time) 
---------------------------------------------------------
June 27, 2002 
------------- 
Заметки о графических акселераторах:

 John Carmak Вынужден принести свои извинения Matrox – их реализация текстурирования посредством карт смещения оказалась НЕ квадратичной. Перепутал с некоторыми другими компаниями, применяющими такой метод. Та реализация, которую использует Matrox, по сути, очень неплоха, и даже если мы не будем ее использовать из-за усиления геометрии, она всё равно сможет задавить любую другую quad-based технологию.

На прошлой неделе я получил карту 3Dlabs P10 и проверил её производительность и возможности. Из-за моей постоянной занятости и отсутствия свободного времени, подчас именно первое впечатление от карты определяет мои дальнейшие с ней отношения и то количество времени, которое я ей уделю. Помнится, я несколько месяцев не общался с ATi после того, как они передали мне образец карты Radeon 8500 с кривыми драйверами, некорректно выводившими консоль. :-)

Я был весьма впечатлен тем, что у P10 оказались равно успешно функциональными как ARB_ расширения (за исключением зеркальных бликов), так и комбинаторы регистров чипа NV10 (расширение NV_register_combiners). Я столкнулся только с двумя случаями полностью некорректной работы с любыми нашими данными, причем один из них спорный. Не поддерживается расширение NV_vertex_program_1_1, которое я использую в случае с NV20. Тогда, для того, чтобы провести тестирование, я модифицировал программу таким образом, чтобы она работала с расширением версии 1.0, однако проблемы остались. Тем не менее, эта карта является лучшей среди тех, что выпущены не nVidia.

Пока рано говорить о том, какая может быть производительность, так как до сих пор не поддерживается расширение по работе с вершинными объектами, и центральному процессору приходится скармливать данные о вершинах акселератору. Однако, карта оказалась быстрее, чем я ожидал.

Находясь под первым, но положительным, впечатлением о карте, я решил переписать ядро так, чтобы карта смогла делать в Doom однопроходный рендеринг. Единственным целесообразным способом реализовать это казалось использование примененных 3DLabs расширений nVidia, то есть NV_vertex_program и NV_register_combiners с семью текстурами вместо четырех, доступных для GeForce 3/4. Однако, вместо этого, я решил использовать прототипы расширений OpenGL 2.0, поддержка которых также реализована на P10.

Реализованы они очень гладко, но использован не весь набор возможностей, и я уперся в ограничение их нынешнего прототипа компилятора. В целом, он мне понравился, и я собираюсь провести исследования над этой моделью программирования, когда компилятор доделают. Да, на настоящий момент языки реализации затенения являются наиболее критичными аспектами, и могут быть развернуты как расширения OpenGL, однако есть еще масса тонких, но важных моментов, которые будут решены в OpenGL 2.0.

Я буду постепенно реализовывать рендеры OpenGL 2.0 в Doom на протяжении всего времени эволюции спецификаций OpenGL 2.0.

В данный момент драйвер GL2 не даст никаких преимуществ на картах, способных накладывать семь и более текстур за раз, но исследовательская работа будет заключаться в отказе от низкоуровневого программирования, и если некоторые новые вендоры пошевелятся (например, Rendition восстанет из мертвых), я постараюсь убедить их реализовать GL2 вместо собственных расширений OpenGL.

Я проводил детальных сравнений с Cg. Есть около полудюжины C-подобных графических языков, и, честно говоря, я не думаю, что между ними так уж много различий на уровне синтаксиса. Все они гораздо лучше тех интерфейсов, которые мы используем в настоящее время и я не думаю, что будут проблемы с синтаксисом. Не так долго осталось до того момента, когда вся работа будет делаться в одном из этих языков, а разработчики, придерживающиеся более низкоуровневого кодинга, будут подобны тем, кто пишет полностью ассемблируемые приложения (меня забавляют люди, придерживающиеся полностью ассемблируемого кода, это, может быть, впечатляюще, но неэффективно).

Можно бесконечно долго рассуждать, почему грядущие языки высокого уровня не должны быть ограничены ресурсами при достижении предела своего потенциала. При этом драйверы должны иметь возможность многопроходной передачи данных железу. Давайте, ребята, займитесь этим.

June 25, 2002 
-------------

Отчет по Matrox Parhelia:

Вкратце можно сказать, что Doom будет работать на Parhelia, но по производительности карта не может конкурировать с продуктами nVidia и ATI.

Остались проблемы с драйверами, и они до сих пор не идеальны, однако я уверен, что Matrox решит эту проблему.

Для первой карты с 256-ти битной DDR памятью, производиетельномть меня очень разочаровала. Я специально создал программу, попытавшись нагрузить память, обойдя неэффективность драйвера и полигонального движка, однако мне не удалось достичь даже производительности GeForce 4. Базовая аппаратная поддержка хороша, местами больше гибкости, чем у GF4 (но меньше, чем у ATI 8500), но карта просто не может конкурировать по чистой производительности. С «утоньчением» технологического процесса производства, чип станет вполне конкурентным, но к тому моменту появятся уже другие чипы, способные полностью затмить нынешнее поколение продуктов.

Ни одна специальная возможность Parhelia не пригодится для Doom.

Десяти битный буфер кадра, это здорово, но Doom требуется более 2 бит для destination alpha, когда у карты всего четыре текстурных блока, поэтому мы не можем использовать эту возможность.

Возможности сглаживания у Parhelia неплохие, однако не слишком быстрые даже при небольшой детализации, а значит никто не будет этим пользоваться.

Карты смещения. Я разочарован, что в индустрии до сих пор применяется quad based метод. Неужели мы не поняли на неудачном примере 3DO, Saturn и NV1, что такие решения являются полным отстоем? В любом случае, мы не можем использовать схему улучшения геометрии (включая ATi TruForm) вместе с трафаретными тенями.

March 15, 2002 
--------------

Марк Килгард и Касс Эверитт из nVidia опубликовали любопытный документ, рассказывающий о рендеринге объемных теней. Они также включили в него небольшой документ о моих исследованиях во время ранних работ над ядром Doom, который я писал несколько лет назад.

http://developer.nvidia.com/view.asp?IO=robust_shadow_volumes

Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про интервью
 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Суд не помеха: спустя месяц перерыва хакер voices38 взломал ещё две игры с Denuvo 8 мин.
В рунете произошёл масштабный сбой — перестали открываться сайты СМИ, «Яндекс», VK и другие 2 ч.
Gears of War 6 не придётся ждать семь лет 7 ч.
После нескольких лет изгнания в Chrome вернулась поддержка изображений JPEG XL 8 ч.
Microsoft радикально обновит Windows — систему заселят ИИ-агентами, которые будут работать рядом с пользователем 8 ч.
Anthropic резко уронила цену ИИ — вышла Claude Haiku 5.5, выполняющая задачи за копейки 9 ч.
Battlefield 6 и Valor Mortis возглавили первую волну новинок Game Pass в октябре, а Clair Obscur: Expedition 33 и A Plague Tale: Requiem подписку скоро покинут 10 ч.
Больше половины создателей Star Wars Zero Company вернулись на работу из вынужденного отпуска — поддержка игры продолжится 11 ч.
Новая статья: Обзор десктопной версии «Яндекс Документов»: кто на новенького? 19 ч.
AMD наделит поддержкой FSR 4 чипы для игровых ноутбуков и портативных приставок до конца 2026 года 19 ч.
Беспилотник атаковал ЦОД «Яндекса» в Рязанской области 3 мин.
ASML готовит литографию нового поколения — Hyper NA через 10 лет уменьшит элементы чипов более чем на треть 5 мин.
GlobalFoundries поможет TSMC делать ИИ-чипы — компания начнёт выпускать кремниевые мосты в США 2 ч.
Huawei хочет вернуть утраченный мировой рынок смартфонов — ставка на свои чипы и HarmonyOS 2 ч.
Xbox превратится в Disney — новое подразделение XP отправит игровые франшизы в кино, магазины и парки развлечений 2 ч.
Первые Googlebook протестировали — Snapdragon обогнал Intel, а автономность уступает конкурентам 3 ч.
Наушники научились заглядывать в мозг — Neurable One подскажут, когда пора отдохнуть 4 ч.
Заработал самый короткий интернет-маршрут между Европой и Азией: «Ростелеком» запустил трансъевразийскую ВОЛС TEA NEXT 4 ч.
Строительство двух ЦОД Google в Финляндии за €13 млрд приостановлено из-за слишком ретивых подрядчиков 5 ч.
Представлен электромобиль BMW iX4 Neue Klasse со «спортивными инстинктами» и запасом хода до 828 км — от $66 200 5 ч.