Я получаю Intellisence "нет, перегрузка функции rotate () соответствует списку аргументов. Как я могу решить - PullRequest
0 голосов
/ 10 июня 2019

Я получаю Intellisence "нет признаков перегрузки function rotate() соответствует списку аргументов. Список аргументов (float, float, float float)." Я уже предоставляю аргументы с плавающей запятой.

получить ошибку при повороте.

как я могу решить? Пожалуйста, помогите мне ...

for (int i = 1;i<10;i++)
    {

        planets[i].self_angle += planets[i].self_rotation_step*delta;

        planets[i].sun_angle += planets[i].sun_rotation_step*delta*ratios[i - 1];

        trans_to_planet_postion = translate(planets[i].Position);
        scaleplanet = scale(planets[i].Scale);
        planet_self_rotation = rotate(planets[i].self_angle, 0.0f, planets[i].self_angle, 1.0f);
        rotate_around_sun = rotate(planets[i].sun_angle, 0.0f, 1.0f, 0.0f);
        ModelMatrix = rotate_around_sun *trans_to_planet_postion *planet_self_rotation*scaleplanet;
        planets[i].modelmatrix = ModelMatrix;
        MVP = ProjectionMatrix*ViewMatrix*ModelMatrix;
        planets[i].mvp = MVP;
    }

Вот сообщение об ошибке ...

Ошибка C2780 'glm :: mat <4,4, T, Q> glm :: rotate (const glm :: mat <4,4, T, Q> &, T, const glm :: vec <4, T, Q> &) ': ожидается 3 аргумента - 4 при условии

1 Ответ

0 голосов
/ 10 июня 2019

Я подозреваю, что вы намеревались передать вектор оси вращения в двухпараметрический поворот вращения

В этом случае вы должны сказать

rotate_around_sun = rotate(planets[i].sun_angle, glm::vec3(0.0f, 1.0f, 0.0f));
...