Лазарус, OpenGL и шейдеры

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Лазарус, OpenGL и шейдеры

Сообщение vitaly_l » 14.12.2017 12:10:07

Mirage писал(а):А я вот компилирую шейдеры с помощью вполне себе опенжеэлевской функции glCompileShader. Я что-то не так делаю?

MylnikovDm писал(а):Вы правы, я не совсем точно выразился в своём комментарии. Компиляция шейдеров происходит непосредственно в процессе выполнения программы, поскольку компилятор шейдеров встроен в драйвер видеокарты. Иначе было бы невозможно обеспечить совместимость программ со всем множеством видеокарт, которые сегодня используются.

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

Но, в любом случае, ни компилятор паскаля, ни компилятор С/С++ не обрабатывают программу шейдера. Для них она всего лишь набор текстовых строк, который необходимо скормить специальному компилятору.

Интересно, если я назову хитрую "С-бинарно-двоичную", "программу шейдера", простым и понятным мне словом: скрипт - это будет правильное название или нет?

Не менее интересно: поставит ли, понятие: скрипт - точку в понимании "С-бинарно-двоичных программах для шейдеров и их компиляции в ... "?
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Лазарус, OpenGL и шейдеры

Сообщение olegy123 » 14.12.2017 12:43:22

MylnikovDm писал(а): Иначе было бы невозможно обеспечить совместимость программ со всем множеством видеокарт, которые сегодня используются.

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

Добавлено спустя 2 минуты 24 секунды:
vitaly_l писал(а):vitaly_l

скрипт интерпретируются как есть. Поэтому назвать то что компилируется скриптом - не правильно.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Лазарус, OpenGL и шейдеры

Сообщение vitaly_l » 14.12.2017 13:10:18

olegy123 писал(а):сами шейдеры - это asm инструкции.
Вот чтобы уйти от сложностей написания asm, добавили высокоуровненвый язык.
скрипт интерпретируются как есть. Поэтому назвать то что компилируется скриптом - не правильно.

Вы хотите сказать что, всё, что написано в википедии, правда? ==> https://ru.wikipedia.org/wiki/%D0%A8%D0%B5%D0%B9%D0%B4%D0%B5%D1%80
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Лазарус, OpenGL и шейдеры

Сообщение Mikhail » 14.12.2017 20:08:01

olegy123 писал(а):сами шейдеры - это asm инструкции.

Шейдер это программа для GPU, как уже писали выше. На чем она именно написана не важно... компилируется она в машинный код целевого GPU.
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: Лазарус, OpenGL и шейдеры

Сообщение Лекс Айрин » 14.12.2017 20:30:04

Mikhail писал(а): компилируется она в машинный код целевого GPU.


Лучше сказать не так. Она компилируется в код для подходящего процессорного шейдерного ядра/ядер.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Лазарус, OpenGL и шейдеры

Сообщение Mikhail » 14.12.2017 21:10:31

Лекс Айрин писал(а):Лучше сказать не так. Она компилируется в код для подходящего процессорного шейдерного ядра/ядер.

Это не верно.
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

Рейтинг@Mail.ru