C ++, OpenCV, TrayTracing: неверная инициализация ссылки типа math :: float3b & - PullRequest
0 голосов
/ 17 марта 2019

я пытаюсь вызвать эту функцию

bool intersectRaySphere(const float3& p, const float3& d, const float3& c, 
float r, float& t)
{

}

из этого функтина с использованием двойной петли

int main()
{
    std::vector<float> ray_direction;

    for (int y = 0; y < height(framebuffer); ++y)
    {
        for (int x = 0; x < width(framebuffer); ++x)
        {
            float ray_dir_x = (x/width(framebuffer) - 0,5) * w_s;
            float ray_dir_y = (y/height(framebuffer) - 0,5) * w_s;
            float ray_dir_z = (y * -1);
            std::vector<float> ray_direction;

            ray_direction.push_back(ray_dir_x);
            ray_direction.push_back(ray_dir_y);
            ray_direction.push_back(ray_dir_z);
            float3& lv_c = ray_direction;
}

Но я не уверен, как объявить параметры для функции bool intersectRaySphere (). Я знаю, что первый параметр p является адресом вектора. Так что я создаю вектор в моей базе с тремя значениями, но я не уверен, как правильно передать его в функцию, где он мне понадобится для работы с ним.

Я пробовал это по-разному - таким образом, здесь я получил сообщение "неверная инициализация ссылки типа math :: float3b &". Буду очень признателен за некоторые советы, как это сделать правильно ...

Роберт

...