Я пытаюсь понять, почему следующий код генерирует следующую ошибку в геометрическом шейдере:
#version 330 core
layout (points) in;
layout (line_strip, max_vertices = 256) out;
in int gs_timestampLabel[];
...
int numberChar[10];
int number = gs_timestampLabel[0];
numberChar[digit] = mod(number, 10);
...
Я также пробовал:
numberChar[digit] = number - 10 * floor(number/10); // number % 10
Ошибка:
Error compiling shader: shaders/TimestampLabels.geometry_2.glsl
Shader log: ERROR: 0:774: 'assign' : cannot convert from 'highp float' to 'highp int'
Всегда ли мод возвращает float? Что нужно сделать, чтобы эта операция модуля правильно выполнялась с использованием целых чисел?