25 лет назад Microsoft выпустила DirectX 8, навсегда изменив компьютерную графику
Сложно представить, как выглядели бы современные игры без того тихого, но революционного изменения, которое Microsoft внесла в 2000 году. Ровно двадцать пять лет назад компания представила DirectX 8. Этот релиз не сопровождался большой шумихой или определяющими поколение технологическими демо, но он принес с собой одно главное новшество — программируемые шейдеры, — которое навсегда изменило то, как графические процессоры рендерят изображение.
До DirectX 8 видеокарты работали по фиксированному конвейеру, то есть почти всё было предопределено и «зашито» в сам чип. Уравнения освещения, смешивание текстур, трансформации — всё это зависело от возможностей GPU. Например, вместо реальных отражений в реальном времени использовались карты окружения, потому что сам графический процессор не мог их рассчитать динамически. Вы были ограничены логикой аппаратного обеспечения, которая не отличалась гибкостью.
Представьте, что вы настраиваете ручки на пульте. Вы можете немного подкрутить параметры, но что, если бы вы захотели изменить сами эти ручки? Именно это и принес DirectX 8.
Программируемые шейдеры DirectX 8
Microsoft добавила в DirectX Shader Model 1.0, который включал Vertex Shader 1.0, позволяющий разработчикам манипулировать каждой вершиной, и Pixel Shader 1.0, дающий контроль над конечным цветом каждого пикселя. Раньше ничего из этого не было доступно, но DirectX 8 передал управление в руки создателей игр, позволив им писать код для программирования GPU под определенный способ рендеринга.
Впервые разработчики могли определять саму математику, стоящую за освещением, управлять поведением материалов, бликами, (базовой) тесселяцией и так далее. Теперь речь шла не о простом принятии того, что GPU предоставляет «из коробки», а о том, что GPU вообще может делать. Это превратило кремниевый чип из заблокированной машины в настоящий программируемый процессор, соответствующий своему названию.
Используя возможности DirectX 8, такие игры, как Half-Life 2, представили для своей эпохи революционную графику. Они были построены на идее авторского контроля, давая разработчикам автономию (пусть и небольшую поначалу) для создания теней в реальном времени, шейдеров преломления и воды, пост-обработки и многого другого. Всё потому, что теперь они могли писать собственный код, указывая графическому процессору, *как* именно что-то вычислять.
Теперь творцы сами решали, как свет взаимодействует с каждым объектом — то, что сегодня может показаться примитивным. Даже в 2025 году некоторые вещи, такие как глобальное освещение, предварительно «запекаются» ради эффективности, в то время как другие работают в реальном времени. И именно шейдеры решают, как они взаимодействуют друг с другом, бесшовно объединяя их, чтобы дать вам «лучшую графику».
Современные графические процессоры / Изображение: Tom's Hardware
Выход DirectX 8 совпал с запуском GeForce 3 от Nvidia, которая добавила аппаратные блоки, такие как исполнительные модули шейдеров, для работы с Shader Model из DX8. В нашем первоначальном обзоре GPU более чем двадцатилетней давности мы указали наличие Pixel Shader и Vertex Shader как два самых больших улучшения, несущих бесконечные возможности — что с высоты сегодняшнего дня видится абсолютной правдой.
Год спустя ATI (ныне AMD) догнала конкурента с более мощным аппаратным обеспечением класса DX9, построенным на наследии DX8. Даже оригинальная Xbox поставлялась в то время с GPU, поддерживающим DirectX 8, и среди разработчиков царило большое оживление вокруг настоящего попиксельного освещения. Такие игры, как Morrowind и Splinter Cell, были ранними последователями этой технологии, которую позже сделала общедоступной Unreal Engine 2.
В целом, DirectX 8 не был взрывным обновлением, но он полностью изменил принципы современного рендеринга. Каждое устройство, которое мы используем сегодня, от телефонов до консолей и компьютеров, не работало бы так, как работает, не используя фундаментальный принцип контроля, заложенный в DX8. Предоставление людям, создающим программное обеспечение, возможности программировать аппаратное обеспечение так, как они хотят, привело к последующим прорывам в графике, которые сегодня мы считаем чем-то обычным.
Источник: Tomshardware.com








0 комментариев