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

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

Страницы: 1 2 3 4 5 6 7 Следующая »
#30
15:13, 3 июня 2018

g-cont
> чем меньше круг поддерживамого железа тем меньше заморочек
Я вообще не понимаю, зачем поддерживать карты, которые не поддерживают OGL 4.5, особенно в будущем, если уже сейчас первые карты с поддержкой OGL 4.5 морально устаревают.


#31
16:21, 3 июня 2018

g-cont
> для ATI еще проверку на AMD надо сделать, не?
Не нашёл примера с AMD

#32
16:43, 3 июня 2018

innuendo
я теоретически рассуждаю, так сказать.

#33
17:44, 3 июня 2018
enum gpu_model
{
  UNKNOWN = -1,
  INTEL   = 0,
  AMD     = 1,
  ATI     = 2,
  NVIDIA  = 3
};

inline int GetGPU()
{
  char* gpu_vendor = strupr(strdup((char*)glGetString(GL_VENDOR)));
  if(strstr(gpu_vendor, "AMD") != NULL) return AMD;
  if(strstr(gpu_vendor, "ATI") != NULL) return ATI;
  if(strstr(gpu_vendor, "NVIDIA") != NULL) return NVIDIA;
  if(strstr(gpu_vendor, "INTEL") != NULL) return INTEL;
  return UNKNOWN;
}
#34
18:36, 3 июня 2018

g-cont
> Проверка по вендору нужна например для подсчёта кол-ва юниформов, для ATI надо
> делить на 4, причём не для каждой ATI. Для совсем старой серии - не надо.
А у тебя в рендерере можно регулировать расход юниформов? Типа, в зависимости от поддержки картой - можно сделать шейдёр на 16 юниформах, можно - на 20, на 24, на 28 и так далее, повышая качество пока позволяет видеокарта?

#35
21:27, 3 июня 2018

z-map
А чем AMD от ATI отличается?

#36
21:37, 3 июня 2018

v1c
> А чем AMD от ATI отличается?

ценой ?

Delfigamer
> А у тебя в рендерере можно регулировать расход юниформов? Типа, в зависимости
> от поддержки картой - можно сделать шейдёр на 16 юниформах, можно - на 20, на
> 24, на 28 и так далее, повышая качество пока позволяет видеокарта?

ну посмотрите на шейдера той же Rage

#37
0:59, 4 июня 2018

innuendo
> Жесть какая-то, делаешь render paths и всё.
А если надо делать супер оптимизацию инстансинга по иннуендо (ну и докам DICE)?
Ведь ты помнишь, что эта супер оптимизация дает 1.5% только на NVidia, а на остальном железе тормозит?
Как мне выбирать нужный render paths без парсинга GL_VENDOR ?

#38
1:14, 4 июня 2018

Delfigamer
> А у тебя в рендерере можно регулировать расход юниформов?
Очень справедливый вопрос :) а если можно, то это уже извращение, особенно, если он собирается поддерживать допотопные видеокарты. Я бы тогда ещё добавил поддержку графики EGA / CGA xD
Ну а следующим этапом обязательно нужно сделать поддержку модов, чтобы всякая школота могла делать любительские поделки, как для Сталкера, в которые интересно играть их школьным товарищам.

#39
2:20, 4 июня 2018

MrShoor
> А если надо делать супер оптимизацию инстансинга по иннуендо (ну и докам DICE)?
> Ведь ты помнишь, что эта супер оптимизация дает 1.5% только на NVidia, а на
> остальном железе тормозит?
> Как мне выбирать нужный render paths без парсинга GL_VENDOR ?
Для такого рода оптимизаций ведь стопудово GL_VENDOR/GL_RENDERER дадут более точную информацию, чем гадание на расширениях.

Daniil Petrov
> Очень справедливый вопрос :) а если можно, то это уже извращение, особенно,
> если он собирается поддерживать допотопные видеокарты. Я бы тогда ещё добавил
> поддержку графики EGA / CGA xD
Ну вот.
А на вопросы вида "можно/нельзя" нужно искать ответ непосредственно в описании того, что можно и чего нельзя.
Если интересует влезаемость шейдера в буфер - надо не сооружать экспертные системы, а вызвать glLinkProgram и посмотреть на результат. Если интересует поддержка формата - нужно зайти в DeviceCaps и спросить конкретно поддержку этого формата. Иначе получается, как в той шутке про аниме и патчи KDE2.

#40
5:09, 4 июня 2018

MrShoor
> А если надо делать супер оптимизацию инстансинга по иннуендо (ну и докам DICE)?

тут главное не понимать, что такое физическая память по мистеру шуру :)

а ещё желательно иметь опыт по прикручиванию инстансинга на реальный игровой проект, а не какой-то там кад

>Как мне выбирать нужный render paths без парсинга GL_VENDOR ?

для начала разберись, о чём речь идёт, а не так, лишь бы укусить за задницу

на каких игровых проектах имел дело с render paths?

#41
5:15, 4 июня 2018

Delfigamer
> Для такого рода оптимизаций ведь стопудово GL_VENDOR/GL_RENDERER дадут более
> точную информацию, чем гадание на расширениях.

ну определили, что amd - дальше как понять - нужно юниформы делить или нет? а если там ещё что-то появиться? 

#42
7:23, 4 июня 2018

Delfigamer
> Если интересует влезаемость шейдера в буфер - надо не сооружать экспертные
> системы, а вызвать glLinkProgram и посмотреть на результат.

#43
8:45, 4 июня 2018

z-map
> strdup
> return UNKNOWN;
memleak detected

#44
8:56, 4 июня 2018

Blew_zc
> z-map
> > strdup
> > return UNKNOWN;
> memleak detected

> Delfigamer
> > Си и плюсы опасны тем, что на них даже неправильные программы могут иногда
> > работать. Поэтому, для обучения - когда целью стоит понять, что отличает плохую
> > программу от хорошей - Си подходит очень плохо.

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

Тема в архиве.