Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views


Sign in to follow this  


Well, I'm not going to claim the portal and anti-portal system is totally debugged, but it's definitely closer. I found a rare instance where some geometry would drop out when the camera's near plane intersected the portal.

I took out the clamping code for the portal, and instead test the portal's points vs the near plane of the frustum, and if it's fully outside ( possible if the camera is one on side of the portal and the player on the other ) or partially clipped, then I just use the existing viewport and don't try to clip or clamp it. This fixed the issue of dropouts.

I further simplified the portal / cell layout this weekend. Instead of the cells looking for neighbor cells via overlap, and portals in the cell/cell intersection area, I switched to a much more forgiving and simpler portal-based approach.

Fow now I removed the detection of cell neighbors, but will add it in later as a rarely-used method where the designer can flag certain cells as neighbors via facets.

I ran into issues with the portals when a cell partly overlapped many portals. The new scheme takes each portal, grows it by 2 meters in each dimension, and queries for intersecting cells. It then walks through these cells and takes the 2 with the largest volume intersection with the expanded portal as the two cells conntected by the portal. This way if a cell overlaps a corner of a portal, it doesn't matter, and the cells don't even have to exactly touch the portal to be hooked up.

Right now I'm debugging a fog culling issue, and drinking Diet Dr. Skipper. This is sooo glamorous. ;)
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!