Почему использование структуры в массиве с индексом переменной вызывает лаги? - PullRequest
0 голосов
/ 27 мая 2019

Я создаю 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...