Войти
ПрограммированиеФорумГрафика

Как узнать производителя видеокарты? (В OpenGL) (2 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#15
22:32, 2 июня 2018
...сама думает, а внутре у ней нейронка!

#16
23:03, 2 июня 2018

CapSopener
Есть уникальные для каждого вендора расширения.

#17
(Правка: 2:33) 2:33, 3 июня 2018

> обучи нейронную сеть по списку определять венодора
А в чём смысл? ОП пишет детектор видеокарт?

#18
2:54, 3 июня 2018

Попробуй проверить на поддержку распространённых вендорозависимых расширений типа ATI / NV и т.д.

#19
2:56, 3 июня 2018

GL_VENDOR

#20
(Правка: 3:45) 3:45, 3 июня 2018

Daniil Petrov
> Попробуй проверить на поддержку распространённых вендорозависимых расширений
> типа ATI / NV и т.д.
Не, не надо сразу давать такие сложные решения, вы лучше расскажите - зачем нормальному человеку определять вендора с такой точностью?

#21
(Правка: 4:48) 4:46, 3 июня 2018

Delfigamer
> зачем нормальному человеку определять вендора с такой точностью?
А хрен его знает :)

+ Показать

Я вообще избегаю вендорозависимых расширений и SDK, а доступную информацию о железе получаю только для вывода в лог.
#22
(Правка: 8:19) 8:16, 3 июня 2018

о! написал проверку по GL_VENDOR-у
если у кого есть желание - поганяйте.
приложение консольное, выдает в stdout примерное такие вот сообщения:

Card:    GeForce GT 330M/PCIe/SSE2
Vendor:  NVIDIA Corporation
Version: OpenGL 3.3.0

Card is vcNvidia
собственно, строчка "Card is vcNvidia" это и есть кульминация парсинга "Vendor" (что есть GL_VENDOR)

сам код парсинга выглядит так:

function DetectVideoCorp(const vendor: string): TVideoCorp;
var
  n : string;
  i : integer;
begin
  n:=lowercase(vendor);
  if pos('nvidia', n)>0 then Result:=vcNvidia
  else if pos('intel',n)>0 then Result:=vcIntel
  else begin
    i:=pos('ati',n);
    if (i>0) and ((i+3=length(n)+1) or (n[i+3] in [' ',#9,#13,#10])) then Result:=vcAti
    else Result:=vcOther;
  end;
end;
+ Показать

#23
11:24, 3 июня 2018

Проверка по вендору нужна например для подсчёта кол-ва юниформов, для ATI надо делить на 4, причём не для каждой ATI. Для совсем старой серии - не надо. Убывбы. Ну и еще для Intel надо принудительно выключать GL_EXT_texture_load_bias если он используется.

#24
11:26, 3 июня 2018

skalogryz
для ATI еще проверку на AMD надо сделать, не?

#25
11:30, 3 июня 2018

g-cont
> Проверка по вендору нужна например для подсчёта кол-ва юниформов, для ATI надо
> делить на 4, причём не для каждой ATI.

Жесть какая-то, делаешь render paths и всё. 

#26
11:40, 3 июня 2018

Ну... я то думал человек хочет PCI id карточки проверять, чтобы знать АСУС там или МСИ....

#27
13:13, 3 июня 2018

g-cont
> Проверка по вендору нужна например для подсчёта кол-ва юниформов
А разве на более или менее последних картах они сильно отличаются? Например у GTX 780 Ti и её аналога от AMD :)

#28
13:30, 3 июня 2018

Daniil Petrov
стандартно, чем меньше круг поддерживамого железа тем меньше заморочек. Особенно если отсечь все карточки, которые не могут в вулкан, например.

#29
14:55, 3 июня 2018

g-cont
> Особенно если отсечь все карточки, которые не могут в вулкан, например.

это всё разговоры в пользу бедных

можно же сделать базовый render path самый минимум и всегда откатываться на него если что

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика