mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 17:32:13 +00:00
40874820f3
Face- and wall-aligned sprites are drawn using the wall routines in BUILD. However, the per-x-screen-coordinate distance (swall[]) is calculated in a way that potentially incurs great precision loss (for example 5 bits for xdimen=1280, yxaspect=65536). This leads to the starting (top) vertical texture coordinate possibly wrapping to large values, leaving an unsightly "stray line" on top of the sprite from certain viewing angles/horiz values. The approach to fix it has two parts: first, the distance is calculated using float values, preventing the precision loss. Because this doesn't fully prevent the unwanted lines, the texture coords are clamped to the mininum and maximum (0 and UINT32_MAX respectively) when calculating them for sprites. Note that stray lines may still appear at the *bottom* of sprites under certain circumstances, for example when viewing at a y-flipped sprite from above. These should be less noticable in real-world usage though. The feature is guarded by a macro HIGH_PRECISION_SPRITE in case using floating point or 64-bit integers is undesirable/impossible on some platforms. git-svn-id: https://svn.eduke32.com/eduke32@3483 1a8010ca-5511-0410-912e-c29ae57300e0 |
||
---|---|---|
.. | ||
Apple | ||
build | ||
eobj | ||
eobj_win | ||
installer | ||
obj | ||
obj_win | ||
package | ||
psd | ||
rsrc | ||
source | ||
Wii | ||
Windows | ||
ChangeLog | ||
ChangeLog.html | ||
eduke32.sln | ||
eduke32.vcxproj | ||
eduke32.vcxproj.filters | ||
eduke32.vcxproj.user | ||
MakeDistributions | ||
Makefile | ||
Makefile.common | ||
Makefile.deps | ||
Makefile.msvc | ||
osxbuild.sh | ||
wiibuild.bat |