Kings and Queens from across the globe gathered at Windsor for a luncheon to celebrate the Queen's Diamond Jubilee.

The Queen and Duke of Edinburgh were joined by 12 members of the British royal family, including the Duke and Duchess of Cambridge, Prince Harry and the Duke of York, as well sovereigns from 26 countries.

Guests included the crown prince of Abu Dhabi, Sheikh Mohammed bin Zayed al-Nahayan, Prince Albert II and Princess Charlene of Monaco and Japan's Emperor Akihito and Empress Michiko.

More controversial guests included King Mswati III of Swaziland, the King of Saudi Arabia, Abdullah bin Abdulaziz al-Saud, and the King of Bahrain, King Hamad al-Khalifa.

Human rights activists have hit out over monarchs from the Gulf states being invited to the luncheon, with the kings of Bahrain and Saudi Arabia coming in for particular criticism following protests for political reform and human rights violations in Bahrain, which is supported by its Saudi neighbour.

Demonstrators are set to gather outside Buckingham Palace on the evening of the luncheon to protest the King of Bahrain's visit.

Buckingham Palace said the foreign office approved the invitation of King Hamad.

The foreign office insisted it would be having "a full and frank discussion on a range of issues" with the Bahraini government.

King Mswati III of Swaziland has also been criticised for having a luxurious lifestyle while his people are forced to live in abject poverty.

Queen Sofia of Spain's decision not to attend the luncheon due to a disagreement with England over sovereignty of Gibraltar further tarnished the celebration.

The royal figures who attended the lunch arrived in a convoy of black chauffeur-driven cars, amid tight security.

Guests were set to eat a British menu, prepared with ingredients sourced locally.

Peter Tatchell Dubs Queen's Jubilee Dinner Guests King Hamad al-Khalifa and Swazi King Mswati 'Royal Tyrants'