Kovalevsky
Newcomer
Numeric instability isn't so overwhelming a problem: avoid floats, notice the 4th dimension of space i.e., scale (hence the quadtree, octree etc.) and when you bisect the half-open [i, i + j), let left = [i, i + (j SAR 1)[ & right = [i + (j SAR 1), i + (j SAR 1) + ((j + 1) SAR 1)[. Ad hoc C is for real men, C++ is a bad effeminate joke.
Let floats dissolve. Let the immoral combination of object-order & image-order be no more (object-order: you persp. project vertices, image-order: you persp. tex. map).
Something should be made explicit: the current persp. texture mappers are deliberately broken. The tex. formats are not fit for image-order algorithms (to which the traditional tex. mappers belong), the access isn't neighborly and the higher the tex. resolution the more it is bad (big mem. hierarchy-fighting jumps). Then you have point-sampling, a consequence of which is aliasing. (A rectangular picture's element is rectangular. A pixel is, generally, a half-open rectangle [x, x + X) * [y, y + Y). In particular when X = Y = 1, there is but a point in the pixel). There are also those proliferous never-acceptably-slow divisions, at least 1 per pixel, otherwise it is no perspective. Even on the current machines, a single viewport-filling rectangle at the present-day resolutions would slow down CPU rendering to a crawl. How ridiculous.
There are quite general solutions.
Did you know that quaternions were found before vectors? (Just like the complex num. were used before Gauss). Quaternions are a pretext for more algebra i.e., transistors.
P.S.: The brokenness was called deliberate because the GPU industry needs floats, multiplication, division, Z-buffering, image-order (whether persp. tex. mapping or raytracing) & mediocre programmers so that it may justify parallelism and insinuate that costly megawattic pollutant piece of ephemeral junk into your machine. Carmack promoted GPUs, his worshipers followed him & made rich NVIDIA (and Carmack).
Let floats dissolve. Let the immoral combination of object-order & image-order be no more (object-order: you persp. project vertices, image-order: you persp. tex. map).
Something should be made explicit: the current persp. texture mappers are deliberately broken. The tex. formats are not fit for image-order algorithms (to which the traditional tex. mappers belong), the access isn't neighborly and the higher the tex. resolution the more it is bad (big mem. hierarchy-fighting jumps). Then you have point-sampling, a consequence of which is aliasing. (A rectangular picture's element is rectangular. A pixel is, generally, a half-open rectangle [x, x + X) * [y, y + Y). In particular when X = Y = 1, there is but a point in the pixel). There are also those proliferous never-acceptably-slow divisions, at least 1 per pixel, otherwise it is no perspective. Even on the current machines, a single viewport-filling rectangle at the present-day resolutions would slow down CPU rendering to a crawl. How ridiculous.
There are quite general solutions.
Did you know that quaternions were found before vectors? (Just like the complex num. were used before Gauss). Quaternions are a pretext for more algebra i.e., transistors.
P.S.: The brokenness was called deliberate because the GPU industry needs floats, multiplication, division, Z-buffering, image-order (whether persp. tex. mapping or raytracing) & mediocre programmers so that it may justify parallelism and insinuate that costly megawattic pollutant piece of ephemeral junk into your machine. Carmack promoted GPUs, his worshipers followed him & made rich NVIDIA (and Carmack).