Also I'v been trying to adapt your code here ( since you can't multiply vectors in SFML I'm giving an alternative version a go ) it currently looks like this:

double K = std::tan(player.fov/2); double distance_to_screen = 300; sf::Vector2f look_vector(std::cos(radians)*distance_to_screen, std::sin(radians)*distance_to_screen); sf::Vector2f left_vector(look_vector.x, -look_vector.y); sf::Vector2f far_left_end = look_vector; far_left_end.x + K * left_vector.x; far_left_end.y + K * left_vector.y; sf::Vector2f one_column_increment(-2.0,-2.0); one_column_increment.x * K * left_vector.x / w; one_column_increment.y * K * left_vector.y / w; sf::VertexArray ray(sf::Lines, 2); ray[0] = sf::Vector2f(player.x+5, player.y+5); for( int i = 0; i < w; i++ ) { ray[1] = sf::Vector2f( player.x+5 + far_left_end.x + i * one_column_increment.x, player.y+5 + far_left_end.y + i * one_column_increment.y); rwind.draw(ray); }Though I did not get it to work as intended.

By the way, don't stress man, I'm just happy that you are helping me ( Can't stress that enough ) so take your time.