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

OpenGL 4.x (82 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 178 79 80 81 82 83 Следующая »
#1215
7:37, 3 авг. 2018

innuendo
> если писать на glsl по стандарту - это были редкие проблемы
Только вот абсолютно по стандарту писать сложно, потому что компилятор тебе никак не сообщает, что ты нарушил стандарт.
Сегодня ты пишешь:
vec4 tmp = vec4(1,1,1,1);
И все компилируется и работает. Ты релизишься.
А завтра пользователи обновляют драйвера и оп, компилятор им говорит error: implicit cast int to float not allowed.


#1216
(Правка: 9:54) 9:53, 3 авг. 2018

MrShoor
> потому что компилятор тебе никак не сообщает, что ты нарушил стандарт.

кто-то не смотрит warnings ?

был шейдер, написанный году так в 2004 - он работал на всех вендорах всё это время

#1217
(Правка: 9:56) 9:56, 3 авг. 2018

innuendo
> кто-то не смотрит warnings ?
Кто-то не читает сообщения?

потому что компилятор тебе никак не сообщает

Представляю как ты стандарт читаешь.
#1218
10:17, 3 авг. 2018

MrShoor
> Представляю как ты стандарт читаешь.

все уже увидели как ты прочитал статью :)
#1219
10:22, 3 авг. 2018

MrShoor
> А завтра пользователи обновляют драйвера и оп, компилятор им говорит error:
> implicit cast int to float not allowed.

да, помню как то ли в UE то ли в CE в hlsl! шейдере был workaround от бага какой-то версии :)

#1220
10:28, 3 авг. 2018
innuendo
> да, помню как то ли в UE то ли в CE в hlsl! шейдере был workaround от бага
> какой-то версии :)
workaround от иннуенды это был
#1221
(Правка: 10:38) 10:37, 3 авг. 2018

пример из последнего UE


#if SM5_PROFILE
  //Temporary workaround to avoid crashes on AMD, revert back to BRANCH
  FLATTEN
#else
  BRANCH
#endif


#if COMPILER_HLSL
  // Workaround for "error X3067: 'GetObjectWorldPosition': ambiguous function call"
  // Which happens when FMaterialPixelParameters and FMaterialVertexParameters have the same number of floats with the HLSL compiler ver 9.29.952.3111
  // Function overload resolution appears to identify types based on how many floats / ints / etc they contain
  uint Dummy;
#endif

#1222
10:46, 3 авг. 2018

MrShoor
> vec4 tmp = vec4(1,1,1,1);
>А завтра пользователи обновляют драйвера и оп, компилятор им говорит error: implicit cast int to float not allowed.

Пиши так:

vec4 tmp = vec4(1.0f, 1.0f, 1.0f, 1.0f);

#1223
10:46, 3 авг. 2018
innuendo
О чем я собственно и говорил
#1224
10:47, 3 авг. 2018

gamedevfor
> Пиши так:
> vec4 tmp = vec4(1.0f, 1.0f, 1.0f, 1.0f);
Ты не поверишь, но f тоже не везде проканает. :)

#1225
11:24, 3 авг. 2018

Компилятор выдаёт варнинги, если #version задана явным образом.

#1226
17:50, 3 авг. 2018

MrShoor
> Ты не поверишь, но f тоже не везде проканает. :)
вроде вообще обычно не работает

#1227
18:05, 3 авг. 2018

serpinf
Nvidia толерантно относится, пока не укажешь #version.

#1228
15:02, 17 ноя. 2018

SPIRV кто-нибудь уже заюзал у себя?

#1229
15:07, 17 ноя. 2018

NickGastovski

а смысл ?

Страницы: 178 79 80 81 82 83 Следующая »
ПрограммированиеФорумГрафика