Такой ещё вопрос. я же правильно понимаю, что написав код на

условном огл 4 и скомпилирована в исполняемый файл, его можно будет запустить на допотопном железе? или же более поздние версии не совместимы аппаратно?

12 ответов

21 просмотр

если на этом железе имеется поддержка огл 4, то да)

Это вопрос к дровам, не к твоему бинарнику

OpenGL описывает какие есть функции, что они принимают и что они делают. В каждой версии свой набор функций. Вы загружаете функции в рантайме. Если вы запросите gl4 функцию, а драйвер умеет только gl2, вы получите nullptr. При попытке вызвать функцию по указателю равному nullptr ваша программа крашнется.

Psinka-Balerinka Автор вопроса
Алексей (lewa_j) Иванчуков
OpenGL описывает какие есть функции, что они прини...

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

В целом да, поэтому в графических апи термины не цпу/гпу, а клиент/сервер. Сервер это любая программа, которая на опредеденные вызовы дает опредеденные по спецификации результаты. Клиент и сервер могут быть и на цпу (эмуляция), и на разных вычислителях, или даже разделены по Интернету

Psinka Balerinka
я правильно понимаю, что функции получает драйвер,...

Нет, функции gl исполняются на cpu, внутри драйвера. В каком виде драйвер общается с железом тут не так важно, но скорее всего через команд листы. То что вы описали больше похоже на то что происходит с шейдерами. То что умеет железо напрямую связано с тем что предоставляет драйвер. Для многих фич нужно дополнительное железо.

Psinka-Balerinka Автор вопроса

не совсем понимаю. какое нужно доп. железо, если, как я понял, основную роль выполняет драйвер?

Psinka Balerinka
не совсем понимаю. какое нужно доп. железо, если, ...

Чтобы функции из драйвера работали. нужна аппаратная поддержка

Psinka Balerinka
не совсем понимаю. какое нужно доп. железо, если, ...

Представь, что видеокарта это завод. А драйвер директор этого завода. А твоя программа - ты. Ты приходишь к директору завода и просишь сделать тебе деталь. Директор завода объясняет своим рабочим задачу (в отличии от тебя - он знает сколько именно на заводе рабочих, какие у них есть станки т. д., более того, рабочие на заводе говорят только на китайском, а ты нет, зато и ты и директор знаете английский), они её делают, он тебе отдаёт результат. А теперь представь, что ты пришёл к директору деревообрабатывающего завода и просишь сделать железную деталь. Какой бы не был умный директор завода и как бы искусно он не объяснял бы задачу своим рабочим, если на заводе нет станков по обработке металла, деталь тебе не сделают.

Psinka Balerinka
не совсем понимаю. какое нужно доп. железо, если, ...

Драйвер просто предоставляет интерфейс к тому что умеет железо.

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта