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
68eb9c10c8
Tessellate faces into bigger chunks when texture repeating is an option.
This is kept conservative at just 2x2 cell sizes, because bigger polygons with more repeats will cause more texture warping and geometry glitching. This is already the biggest gain.
3 years ago
Nico de Poel
eb3de1b624
Pack repeatable textures first, followed by other textures in the remaining space. This is actually producing more efficient textures atlases. The hell.
3 years ago
Nico de Poel
435b62f280
Reorganized the texture packing code to allow for multiple packing steps, with repeatable textures getting packed first.
3 years ago
Nico de Poel
b0f7e971e8
Detect and link animated texture frames
3 years ago
Nico de Poel
b0e6083d13
Added a few source references
3 years ago
Nico de Poel
8d51e7e252
Embed the texture atlas data inside the exported .ps1bsp file and name those files after the actual map.
Makes it a bit easier to switch between maps for testing.
3 years ago
Nico de Poel
dc78b9700d
Calculate average and dominant colors per texture, and use those to precalculate combined color * light values per face vertex, for cheap vertex colored drawing.
3 years ago
Nico de Poel
cc18611de8
Reorganized texture code so that the palette is loaded separately, and metadata used to calculate UVs are kept out of the exported file for PS1.
3 years ago
Nico de Poel
64d9b16c12
Duplicate the Quake palette CLUT with transparency flag set, to use for water surfaces. Doesn't actually work yet but the solution should be something in this direction.
3 years ago
Nico de Poel
0df5801eba
Export face vertex data again, to allow for simplified rendering routines
3 years ago
Nico de Poel
4e11041b93
Desaturate palette colors to more closely match Quake's look, and made an exception for the big Quake sign on the start map, so it maintains a higher mip level.
3 years ago
Nico de Poel
3bc9167885
Tweaked heuristics of the rectpack algorithm to produce better results for our non-square texture atlases.
Ensure we don't exceed the maximum range of PS1 UV coordinates by limiting texture width and height.
3 years ago
Nico de Poel
5e85e2c73a
Modified texture packer to allow for arbitrary input bin sizes. Added transparency flag to final palette entry.
3 years ago
Nico de Poel
0a19ca70f5
Texture atlasing tool now directly exports images in .TIM format for use on PS1
3 years ago
Nico de Poel
3e0706c9f9
Small tweaks to make a few textures on n64start a bit nicer
3 years ago
Nico de Poel
72d03aff9c
Fixed some issues with texture atlas, page and ID generation. Texture references generally seem to be in order now, but UVs are still a problem.
3 years ago
Nico de Poel
d84a14973b
First pass at converting texture info to PS1 VRAM data. Not quite right yet but it's starting to work.
3 years ago