Я создаю 3D графический движок с openGL
Я делаю некоторое отображение теней, и я только что столкнулся с небольшой проблемой:
У меня есть структура LightCaster как таковая:
struct LightCaster {
mat4 vp;
sampler2D depth_map;
};
и определен единый массив экземпляров этой структуры:
uniform LightCaster light_casters[4];
Моя проблема в том, что когда я получаю доступ к заклинателю с помощью индекса переменной, это создает много лагов, но когда я получаю к нему доступ с помощью номера, я могу снова получить 60 кадров в секунду!
mat4 m = light_casters[caster_index].vp; // create lags
mat4 m = light_casters[0].vp; // 60 fps
Но даже если я использую фиксированное значение в качестве индекса, он все равно создает лаги:
int index = 0;
mat4 m = light_casters[index].vp; // still laggy