Страница 1 из 5
видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 17:52:30
vitaly_l
Если 3D просто рисовать на канвасе, то это будет медленно т.к. придумано много инструментов и часть вычислений переложена на видеокарту.
Видеокарта, рисует: 3D - треугольниками и многоугольниками.
Всем этим заправляют, например: OpenGL и DirectX и в них понапиханы последние достижения в работе видеокарт. В DX все функции спрятаны в DLL и посмотреть как именно код обращается к карте невозможно ( в OpenGL не знаю ).
Вопрос в следующем, как обратиться напрямую к видеокарте ? (минуя OpenGL, DirectX итп)
Точнее, как в неё - самому загрузить текстуры, координаты, UV, нормали ? (минуя OpenGL, DirectX итп)
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:12:23
Pavia
Это неправильный вопрос. Неправильные вопросы рождают неправильные ответы.
Никак вы не получите.
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:14:54
vitaly_l
Pavia писал(а):Никак вы не получите.
Почему?
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:29:14
sts
желание давнишнее, уже есть такое - vulkan
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:31:05
Pavia
Причин много:
- разные видео карты имеют разную архитектуру. Тут я под архитектурой имею в виду то что у них разный ассемблер. Разные регистры и порты в/в и микра и макра архитектура у них различная. И программируются по разному для этого и придумана такая вещь как абстракция. По русски обобщение. Один общий программный интерфейс скрывает разные реализации. Вот таким интерфейсом является DirectX. Вам придётся его переизобрести и написать драйвер для каждой видеокарты.
- Так вот не все производители открывают документацию на свои карты.
- виндоус это защищенная ОС она затрудняет вам писать драйвера. Требует компилятор СИ приобретение сертификата для драйвера.
- надо остановить существующие драйвера что-бы они не мешали вам.
- архитектура PC такова что видео память вам недоступна вся и сразу. Вам надо будет написать менеджер памяти который будет по кускам отоброжать её, а ещё лучше DMA который заставит видео карту самой загружать текстуры в виде память.
- а да ещё что-бы получить доступ к видео регистрам надо будет отключить защиту.
- а ещё всё это требует очень много труда. Таких кто написал во всём мире можно пересчитать по пальцам руки. Те 1 человек на 2 милиарда где-то. Даже теория вероятность против вас.
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:36:18
vitaly_l
Pavia писал(а):Так вот не все производители открывают документацию на свои карты.
Я тут почитал, по сути, нужно ВСЕГО-ТО написать свой шейдер... ещё пока читаю, в надежде, что в конце статьи будет полезная инфа как его писать...
sts писал(а):желание давнишнее, уже есть такое - vulkan
vulkan <== это название модуля? Где посмотреть можно?
Pavia писал(а):- а ещё всё это требует очень много труда. Таких кто написал во всём мире можно пересчитать по пальцам руки. Те 1 человек на 2 милиарда где-то. Даже теория вероятность против вас.
сомневаюсь, что всё это сложно, т.к. не более чем загрузка в обычную память.
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:41:12
Лекс Айрин
vitaly_l писал(а):Почему?
Потому что, по сути, перечисленное уже есть драйвер доступа к аппаратно зашитому функционалу. Кстати, что DirectX, что иные библиотеки, по сути лишь инициализируют соответствующий контекст устройства и передают данные для видеокарты, которая, собственно, уже все и рисует. При этом, для определенного окна пропускается половина системной отрисовки.
Добавлено спустя 1 минуту 5 секунд:vitaly_l писал(а):vulkan <== это название модуля? Где посмотреть можно?
Это следующее поколение OpenGL
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:43:36
sts
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:46:07
скалогрыз
vitaly_l писал(а):Я тут почитал, по сути, нужно ВСЕГО-ТО написать свой шейдер... ещё пока читаю, в надежде, что в конце статьи будет полезная инфа как его писать..
ты не дочитал до того места, где сказано что "шейдер" писать нужно либо через DX либо через OpenGL.
а это противоречит твоему словию: "(минуя OpenGL, DirectX итп)"

Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:46:59
zub
А к чему вы еще хотите обратиться напрямую из под современной ос? давайте поговорим об этом
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:53:22
vitaly_l
скалогрыз писал(а):ты не дочитал до того места, где сказано что "шейдер" писать нужно либо через DX либо через OpenGL.
Ну да... ещё читаю там длинная портянка... но капелька разочарования теперь уже меня ждёт в конце этой их портянки про шейдеры...
И чего совсем ни как нельзя пробиться к памяти карты и написать в неё пару своих приличных шейдеров???
sts писал(а):http://www.nvidia.ru/object/vulkan-grap ... og-ru.html
Я уже нашёл их, но они так же засекречены как DX и OpenGL, они - не открытая система. У них установщик даже есть. Хотя выглядят красиво

zub писал(а):А к чему вы еще хотите обратиться напрямую из под современной ос? давайте поговорим об этом
А чего об этом говорить??? Выше на 50% описан 3D движок, чтобы его написать нужно потратить неделю. А чтобы изучить все фичи OpenGL, DX и Vulkan - нужно потратить ГОДЫ!!!! Понимаете Карл? ГОДЫ вместо одной недели!!! И потом интересно, ведь карту можно и в других целях привлечь к расчётам....
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 18:56:59
Лекс Айрин
vitaly_l писал(а):Я уже нашёл их, но они так же засекречены как DX и OpenGL, они - не открытая система.
Странно... а я нашел спецификацию и пр...
https://www.khronos.org/registry/vulkan/ на английском, правда... что я делаю не так?
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 19:03:22
vitaly_l
Лекс Айрин писал(а):что я делаю не так?
Найдите где они там пишут, о том, как написать свой шейдер и загрузить его в видеокарту?
.
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 19:05:10
sts
ну я не думаю что вы собираетесь взаимодействовать минуя драйвер, ведь для этого придется написать свой, заведомо хуже чем штатный, а вулкан апи ближе всего к железу, ближе некуда, даже ближе чем драйвер для опенгл\дИкс
так что исходник драйвера вам ненужны
Re: видеокарта - можно ли ей пользоваться?
Добавлено: 20.01.2017 19:05:25
runewalsh
Pavia писал(а):у них разный ассемблер
Это не (совсем) так, шейдерные модели со второй-третьей или какой там унифицированы (не уверен, связано это с унификацией процессоров всех стадий конвеера или само по себе), что позволяет, помимо прочего (а-ля обращение к текстуре не из фрагментного), прекомпилировать шейдеры. (Можно предположить, что всё же могут реализовываться и специфичные фичи и шейдер, скомпилированный из исходников, будет работать быстрее, но я особо не интересовался.)