Original Post
Hi, I've been working on this 3D engine of mine for a while now, and my current concern is properly rendering the geometry from a version 30 BSP file. So far I've loaded the entire file in, and rendered the level by going through each face and rendering all the edges it wants via the surfEdge array indexing into the edge array. The geometry renders in whole, but there is a TON of overlapping geometry.
So obviously I'm doing something wrong. But there is EXTREEMLY little documentation on the version 30 BSP format, all I have to go on is this file I found and what ever I can gleen from the HL SDK. (Half-Life uses version 30 BSPs) Does anyone have any knowledge on this? Are the vertices suppose to be rendered as triangle fans? That’s the only way I get solid full geometry. There doesn't seem to be one clear way to access the vertices, this is how I'm currently rendering, (-> means the previous one has an index into the next one's array) Nodes -> Faces -> surfEdges -> Edges -> Vertices Each Edge has 2 vertices, thus describing 1 edge of a polygon, all fine and dandy except that’s not how OpenGL renders polygons! Maybe it doesn't use triangles at all? Any insight into this would be great.
So obviously I'm doing something wrong. But there is EXTREEMLY little documentation on the version 30 BSP format, all I have to go on is this file I found and what ever I can gleen from the HL SDK. (Half-Life uses version 30 BSPs) Does anyone have any knowledge on this? Are the vertices suppose to be rendered as triangle fans? That’s the only way I get solid full geometry. There doesn't seem to be one clear way to access the vertices, this is how I'm currently rendering, (-> means the previous one has an index into the next one's array) Nodes -> Faces -> surfEdges -> Edges -> Vertices Each Edge has 2 vertices, thus describing 1 edge of a polygon, all fine and dandy except that’s not how OpenGL renders polygons! Maybe it doesn't use triangles at all? Any insight into this would be great.