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

OpenGL Вопросы (100 стр)

Страницы: 195 96 97 98 99 100
#1485
13:00, 24 мая 2025

А вспомнил, да😂
Это тот щегол, который газовал на парней, которые книгу по вулкану выпустили из-за того, что она на английском, а не на русском и ему не понятно 😂

#1486
13:43, 24 мая 2025

AMM1AK, поздравляю, ты в очередной раз признал свою несостоятельность.
  Как же ты жалок... Продолжай в том же духе!

#1487
22:55, 24 мая 2025

Всем привет. Столкнулся с проблемкой компиляции шейдеров, и никак не вдупляю что не так.
есть такой шейдер (портянка из ApiTrace):

+ Показать

Компилируется нормально без ошибок. Но на экране ниче нету.
В ApiTrace пишет ошибка линковки:

+ Показать

Ну вроде мэйн там есть, че ему еще надо нипонятно.

#1488
0:09, 25 мая 2025

burnaboyz
А зачем тебе дефайны такие? Видать они не сработали и main пустой вышел.
Не наглядней как обычно разделить шейдер на два файла?

upd: и ты по моему не так используешь glShaderSource
Посмотри тут хотя бы
https://learnopengl.com/Getting-started/Shaders

#1489
0:11, 25 мая 2025

У тебя там вначале дефайны идут
#define VERTEX 1
#define FRAGMENT 0

Для фрагментного нужно наоборот. Но в любом случае они оба defined будут, а в коде ты проверяешь не
#if (VERTEX == 1)
Или
#if (FRAGMENT == 1)
А просто на defined.
Попробуй разнести вершинный и фрагментарный шейдер по разным строкам и скомпилировать и линковать по отдельности.

#1490
0:39, 25 мая 2025

Попробуй разнести вершинный и фрагментарный шейдер по разным строкам и скомпилировать и линковать по отдельности.

Я сначала два разных делал, там все работало. Хочу сделать что-то наподобие убершейдера, все в один файл запихать,  потом в glShaderSource затолкать  массив строк с версией шейдера (GLES или GL), строку с define'нами и уже дальше тело с шейдером.

#1491
1:44, 25 мая 2025

burnaboyz
Ну тогда надо подставлять разное объявление дефайна в этот убершейдер в начале, чтобы он понимал, вершинный или фрагментный сейчас. Извне это сделать не получится.
PS может сам glsl объявляет подобные дефайны для разных типов шейдеров и тебе объявлять ничего не надо. Погугли.

#1492
2:23, 25 мая 2025

Заработало. Надо было в дефайнах указывать 1: #define VERTEX 1, я не знаю почему ему не нравится просто #define VERTEX.
И походу OGL не любит сишные строки с \0 на конце. Нужно указывать sizeof(str) - 1.

+ Показать
#1493
14:14, 25 мая 2025

burnaboyz
> И походу OGL не любит сишные строки с \0 на конце. Нужно указывать sizeof(str) - 1.
Внезапно, в документации так и написано:

Each element in the length array may contain the length of the corresponding string (the null character is not counted as part of the string length) or a value less than 0 to indicate that the string is null terminated

#1494
14:54, 25 мая 2025

Dimich
> Внезапно, в документации так и написано

Так не совсем так же. Написано, что null-terminated тоже может, но длину надо указать отрицательную, например, -1.

Страницы: 195 96 97 98 99 100
ПрограммированиеФорумГрафика

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