Do rooms need to be convex?
It helps for determining if a point is inside a room by testing its position against the surface normals. A concave room could calculate a point being outside the room (see below). If you are rendering particles per room, then this becomes important – particles rendered per room are rendered more accurately with alpha walls, since they are supposed to be rendered first, then have the alpha wall blended over them. It’s also important when you need to calculate which room the viewpoint is in to begin rendering, and you aren’t determining the room you’re in via a BSP or other structure. If you have ways of calculating if a point is inside a room without using the surface normals, then convex rooms may not be so necessary. It’s up to the methods you make available for yourself. Note that the portal rendering algorithm itself does not require convex rooms. Portal visibility requires that you are on the correct side of the portal to see it, and if the portal is around a corner in the same ro