1
\$\begingroup\$

I'm attempting to write a level viewer for Quake 3 levels (repo here). I've got some of the way towards it, but for every level I try to view with it I get lots of missing faces.

Missing faces in quake level (image from Dustbowl)

In the above image, I have disabled backface culling in order to show where faces are missing a little better.

My question is, has anyone else run into this problem? I know Quake/Quake 3 level rendering is a well-trodden path, so I'm luckier than most in this situation. I so far only render meshes and polygons, not models, but most of the missing faces seem to be where one would expect static faces.

I'm not really asking for a code review, as much of the implementation details I would not expect to be common (I transform the BSP tree into a proper tree structure and discard the index-based structure entirely), but if anyone has seen this before I'd love to know what the issue was.

\$\endgroup\$

closed as off-topic by Vaillancourt, MAnd, Josh Jan 7 '16 at 17:05

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about debugging a problem in your project must present a concise selection of code and context so as to allow a reader to diagnose the issue without needing to read all of your code or to engage in extensive back-and-forth dialog. For more information, see this meta thread." – Vaillancourt, MAnd, Josh
If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ You might need to reverse the windings according to the side of the face its normal falls on. \$\endgroup\$ – jzx Jan 4 '16 at 14:19
  • \$\begingroup\$ See: "disabled backface culling". I believe this is precalculated correctly though, I get sensible results if I turn it on. \$\endgroup\$ – nonsince Jan 4 '16 at 14:45
  • 1
    \$\begingroup\$ This might be because Quake 3 uses patches (curved bezier faces) way more extensively than I expected. Guess it's time to bite the bullet and implement bezier curves. \$\endgroup\$ – nonsince Jan 4 '16 at 14:46

Browse other questions tagged or ask your own question.