There were some good improvements on the code, including a few optimizations in the BSP renderer. However, a number of bugs still need to be ironed out:
• Due to the recent changes in the rendering of BSP entities, raytraced lighting is not working in some of them. I'm not sure why.
• The textures in some surfaces of rotated BSP entities are sliding and rotating according to the differences in position and angles between the BSP entity and the camera. This is a bug that already existed before in rotated semitransparent BSP entities, but I only found it out after making the opaque BSP entities follow a similar overdraw path to fix the per-span Z-fighting issues.
• Some semitransparent BSP entities seems to be rendered twice depending on the camera position. See how the opacity of the wood column seems to change.
Besides fixing those bugs, I also needs to implement support for BSP entity geometry clipping against the world in overdraw mode, to recover the performance that was lost when fixing the per-spans Z-fighting.