Войти
ФлеймФорумПрограммирование

Убогость OpenGL API (35 стр)

Страницы: 134 35 36 3739 Следующая »
#510
(Правка: 17:04) 17:04, 2 дек. 2019

innuendo
> перейди на вулкан

Не могу - мне нужон GL ES 3.0 и поэтому я вынужден с ним мирится.
Интересно, кстати, будет если доберусь до Metal - очень интересно будет сравнить.
Но всего вышесказанного это никак не отменяет.


#511
17:06, 2 дек. 2019
innuendo
> перейди на вулкан
а ты перешел? стало медленнее или быстрее работать?))
#512
17:08, 2 дек. 2019

Перечитываю тред и просто офигиваю с любителей жрать говно.
Это просто какой то запредельный уровень рационализации, сирисли. На любой черезжопный костыль найдется оправдание.
А если оправдание нет - то можно скатится к классике аргументации: "а в микрософте еще хуже", "сперва добейся", "миллионы мух не могут ошибаться" и т.д.

#513
17:09, 2 дек. 2019

Misanthrope

я нет - но приходится работать с рендором под аулкан

#514
17:10, 2 дек. 2019

innuendo
> лично я не испытывал никаких проблем с этим

А я реально испытывал.
Первые версии моей функции CreateShader реально под копирку принимали в качестве параметра char ** и в какой то момент я два раза ловил ошибки с этим связанные, т.к. конверсии сырых пойнтеров в сишечке тоже вещь эдакая - так же "error prone".
В какой то момент уже конечно матюкнулся, переделал на корню под const std::string & и ликвидировал проблему в зародыше. Проблему которой в принципе могло бы и не быть.
Тру стори.

#515
(Правка: 17:16) 17:13, 2 дек. 2019

0xc0de
> Смотри, есть у тебя убер шейдер на несколько килобайт и есть статический
> бранчинг, который разруливается ifdef-ами.

uniform float Condition;
out vec4 Color;
void main() 
{
  if(Condition > 0.5) // Статический бранчинг
  {
    if(gl_FragCoord.x + gl_FragCoord.y > 10) // Динамический бранчинг
      Color = float4(1,0,0,1); 
    else
      Color = float4(0,1,0,1);
  }
  else
  {
    Color = float4(0,0,1,1);
  }
}
#516
17:14, 2 дек. 2019

=A=L=X=
> В какой то момент уже конечно матюкнулся, переделал на корню под const
> std::string & и ликвидировал проблему в зародыше. Проблему которой в принципе
> могло бы и не быть.

а теперь давай на С

#517
(Правка: 17:27) 17:27, 2 дек. 2019

=A=L=X=
OpenGL как раз писался во времена С, который не умеет в строки. Вроде логично.

#518
17:28, 2 дек. 2019

Dampire
> if(Condition > 0.5) // Статический бранчинг

Ок. Просто статическим иногда называют #ifdef, поэтому я и уточнил "который разруливается через ifdef".

#519
17:28, 2 дек. 2019

innuendo
> а теперь давай на С

Давай, допустим считал из файла код в char *shader_source, там есть строки с "include 'lib1.sh'" и их нужно обработать.
Давай предлагай варианты.
В том то и проблема, что эти люди которые этот API с glShaderSource придумывали либо какие то заоблачные теоретики которые что-то слышали, но не работали, либо краснощёкие джуниоры которые еще не успели наработать опыт.
Но ни в сишечке без плюсов ни в сишечке с плюсами они очевидно не работали и нихрена не понимают в практическом программировании.

#520
17:29, 2 дек. 2019

Vlad2001_MFS
> OpenGL как раз писался во времена С, который не умеет в строки. Вроде логично.

Нет, не логично потому что функции серии glShaderSource были созданы гораздо гораздо позже нежели "времена С".
Вообще сильно позже.
И вообще OpenGL не ровесник сишечке ни разу.

#521
17:30, 2 дек. 2019

=A=L=X=
> Нет, не логично потому что функции серии glShaderSource были созданы гораздо
> гораздо позже нежели "времена С".
> Вообще сильно позже.
> И вообще OpenGL не ровесник сишечке ни разу.

но сделаны новые версии как бы для C

#522
17:33, 2 дек. 2019

=A=L=X=
Какая разница ровесник или нет. OpenGL всегда был предназначен для C. Плюсов для него никогда не существовало.

#523
(Правка: 17:34) 17:34, 2 дек. 2019

innuendo
> но сделаны новые версии как бы для C

Тут дело не в самом Си, а в POSIX-like API для универсализации и кроссплатформы.
Самое интересное что char ** как раз полностью лажа в плане кроссплатформы и кроссязыковости.
Это просто грёбанный вопиющий и ничем не оправданный непрофессионализм.

#524
17:38, 2 дек. 2019

Great V.
школьник малолетка ?

Страницы: 134 35 36 3739 Следующая »
ФлеймФорумПрограммирование