9 Commits (39fa8bcb147918e5f306398481c28d6c3939a51e)

Author SHA1 Message Date
Nico de Poel 39fa8bcb14 Apply uv offsets only on non-repeating textures, to avoid overflow errors on textures near the texture page edges. Fixes wonky textures on maps like E1M1 and E1M8. 3 years ago
Nico de Poel 552678f67c Reduced amount of geometry artifacting from T-junctions by rounding repeating UVs down to a grid that will be shared by adjacent faces using the same textures. 3 years ago
Nico de Poel 68eb9c10c8 Tessellate faces into bigger chunks when texture repeating is an option. 3 years ago
Nico de Poel 0a077b426c Reworked lightmap sampling using a lightmap space transform and correctly rounding values, using the Quake source for reference. Finally fixes a bunch of lingering lighting artifacts. 3 years ago
Nico de Poel c6a8abbb7b Made the texture space transform available outside of Tessellator and used it to generate some more Face bounds data for later use. 3 years ago
Nico de Poel c91e8e6167 Added bounding spheres to node data, used for frustum culling 3 years ago
Nico de Poel ef9adf8de0 Introduced some matrix math to properly construct a texture space transform, that we can also invert to create a transform back to world space. Finally our tesselated polygons are working perfectly! 3 years ago
Nico de Poel fc281251ea Overhaul of geometry conversion: 3 years ago
Nico de Poel 4f99baea65 Encapsulated GPC-based tesselation into a Tesselator class, which now also produces normalized UVs per vertex-texture pair and a list of Polygon structs with texture and vertex index data. 3 years ago