Страница 1 из 5

видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 18:52:30
vitaly_l
Если 3D просто рисовать на канвасе, то это будет медленно т.к. придумано много инструментов и часть вычислений переложена на видеокарту.

Видеокарта, рисует: 3D - треугольниками и многоугольниками.

Всем этим заправляют, например: OpenGL и DirectX и в них понапиханы последние достижения в работе видеокарт. В DX все функции спрятаны в DLL и посмотреть как именно код обращается к карте невозможно ( в OpenGL не знаю ).

:idea: Вопрос в следующем, как обратиться напрямую к видеокарте ? (минуя OpenGL, DirectX итп)
:arrow: Точнее, как в неё - самому загрузить текстуры, координаты, UV, нормали ? (минуя OpenGL, DirectX итп)

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:12:23
Pavia
Это неправильный вопрос. Неправильные вопросы рождают неправильные ответы.
Никак вы не получите.

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:14:54
vitaly_l
Pavia писал(а):Никак вы не получите.

Почему?

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:29:14
sts
желание давнишнее, уже есть такое - vulkan

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:31:05
Pavia
Причин много:
- разные видео карты имеют разную архитектуру. Тут я под архитектурой имею в виду то что у них разный ассемблер. Разные регистры и порты в/в и микра и макра архитектура у них различная. И программируются по разному для этого и придумана такая вещь как абстракция. По русски обобщение. Один общий программный интерфейс скрывает разные реализации. Вот таким интерфейсом является DirectX. Вам придётся его переизобрести и написать драйвер для каждой видеокарты.
- Так вот не все производители открывают документацию на свои карты.
- виндоус это защищенная ОС она затрудняет вам писать драйвера. Требует компилятор СИ приобретение сертификата для драйвера.
- надо остановить существующие драйвера что-бы они не мешали вам.
- архитектура PC такова что видео память вам недоступна вся и сразу. Вам надо будет написать менеджер памяти который будет по кускам отоброжать её, а ещё лучше DMA который заставит видео карту самой загружать текстуры в виде память.
- а да ещё что-бы получить доступ к видео регистрам надо будет отключить защиту.
- а ещё всё это требует очень много труда. Таких кто написал во всём мире можно пересчитать по пальцам руки. Те 1 человек на 2 милиарда где-то. Даже теория вероятность против вас.

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:36:18
vitaly_l
Pavia писал(а):Так вот не все производители открывают документацию на свои карты.

Я тут почитал, по сути, нужно ВСЕГО-ТО написать свой шейдер... ещё пока читаю, в надежде, что в конце статьи будет полезная инфа как его писать...

sts писал(а):желание давнишнее, уже есть такое - vulkan

vulkan <== это название модуля? Где посмотреть можно?

Pavia писал(а):- а ещё всё это требует очень много труда. Таких кто написал во всём мире можно пересчитать по пальцам руки. Те 1 человек на 2 милиарда где-то. Даже теория вероятность против вас.

сомневаюсь, что всё это сложно, т.к. не более чем загрузка в обычную память.

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:40:07
Лекс Айрин
vitaly_l писал(а):Почему?


Потому что, по сути, перечисленное уже есть драйвер доступа к аппаратно зашитому функционалу. Кстати, что DirectX, что иные библиотеки, по сути лишь инициализируют соответствующий контекст устройства и передают данные для видеокарты, которая, собственно, уже все и рисует. При этом, для определенного окна пропускается половина системной отрисовки.

Добавлено спустя 1 минуту 5 секунд:
vitaly_l писал(а):vulkan <== это название модуля? Где посмотреть можно?


Это следующее поколение OpenGL

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:43:36
sts

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:46:07
скалогрыз
vitaly_l писал(а):Я тут почитал, по сути, нужно ВСЕГО-ТО написать свой шейдер... ещё пока читаю, в надежде, что в конце статьи будет полезная инфа как его писать..

ты не дочитал до того места, где сказано что "шейдер" писать нужно либо через DX либо через OpenGL.

а это противоречит твоему словию: "(минуя OpenGL, DirectX итп)" ;)

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19:46:59
zub
А к чему вы еще хотите обратиться напрямую из под современной ос? давайте поговорим об этом

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 19: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 19:56:59
Лекс Айрин
vitaly_l писал(а):Я уже нашёл их, но они так же засекречены как DX и OpenGL, они - не открытая система.


Странно... а я нашел спецификацию и пр... https://www.khronos.org/registry/vulkan/ на английском, правда... что я делаю не так?

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 20:03:22
vitaly_l
Лекс Айрин писал(а):что я делаю не так?

Найдите где они там пишут, о том, как написать свой шейдер и загрузить его в видеокарту?


.

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 20:05:10
sts
ну я не думаю что вы собираетесь взаимодействовать минуя драйвер, ведь для этого придется написать свой, заведомо хуже чем штатный, а вулкан апи ближе всего к железу, ближе некуда, даже ближе чем драйвер для опенгл\дИкс
так что исходник драйвера вам ненужны

Re: видеокарта - можно ли ей пользоваться?

СообщениеДобавлено: 20.01.2017 20:05:25
runewalsh
Pavia писал(а):у них разный ассемблер

Это не (совсем) так, шейдерные модели со второй-третьей или какой там унифицированы (не уверен, связано это с унификацией процессоров всех стадий конвеера или само по себе), что позволяет, помимо прочего (а-ля обращение к текстуре не из фрагментного), прекомпилировать шейдеры. (Можно предположить, что всё же могут реализовываться и специфичные фичи и шейдер, скомпилированный из исходников, будет работать быстрее, но я особо не интересовался.)