Другие языки программирования и технологии

Как программисты рисуют графику?

программисты не рисуют 3D графику, никто и ничто её не рисует.

то что в конечном счете оказывается на экране РЕНДЕРИТСЯ (Rendering) видеокартой. Рендерит видеокарта 3D объекты СМОДЕЛИРОВАННЫЕ 3D дизайнерами и затекстуренные 3D художниками (тут ещё впору мапперов указать которые разверткой занимаются). Можно рендерить и не заранее созданные модели, т. н. примитивы: точка, линия, плоскость, сфера, меш (3D модель является частным случаем меша). За сам рендер отвечает видеоркарта, но вот его инициатором служит API(набор определенных методов и свойств). Их несколько видов для ПК это обычно DirectX, OpenGL и Vulkan. последний относительно новичок. Задача производителей видюх сделать поддержку популярных API, при том максимально производительную. зачем все это? да за тем что довольно трудно работать с 3D на ASM(я не очень сведую что за lowlevel на видюхах). И мы ещё не говорим о шейдерах.

Что делает программист: вызывает необходимые методы выбранного API, которое вызывает определенную инструкцию (-ии) видеокарты. Те в свою очередь заставляют видеокарту сформировать картинку (ну это очень общо).

Как ещё упрощают этот процесс? Unity, UnrealEngine, AGE, Ego, RAGE, Frostbite - это игровые движки которые максимально отдаляют программиста от общения с DX/OGL/Vulkan, ведь ниша программистов стремительно тупеет
Борис Родионов
Борис Родионов
5 038
Лучший ответ
Сергей Садов Печально что тупеют
Алманов Владимир Про ASM. Драйвер видеокарты поддерживает стандартные интерфейсы, такие как OpenGL, и возможно нестандартные. Например, CUDA у NVidia. CUDA используется для расчётов, а не для графики. У AMD есть какой-то Ассемблер (подробности не знаю). Но это тоже не стандарт и тоже для расчётов.
Низкий уровень видеокарты запрятан в самой видеокарте и драйверах.
Для 3D графики используются специальные API (OpenGL, Vulkan, DirectX, WebGL) или библиотеки, облегчающие работу с этими API. Для ещё большего удобства - игровые движки.
В программе описывается сцена как набор геометрических фигур. Задаётся их цвет или текстура. Видеокарта сама всё рисует.
Если грубо то: отправляешь команду зажечь на мониторе по таким то координатам пиксель, такого то цвета.
Валера Жидко
Валера Жидко
24 033
Сергей Садов А если мягко?
Алманов Владимир Это уж очень грубо. Видеокарта - умное устройство. Сама умеет многое рисовать.