I can do fake trilinear too, but I don't call it trilinear. If I did, I could also say dithering is bilinear filtering I know real trilinear takes the double amount of operations, and that with hardware this just means the double amount of transistors.Grall said:TNT can't do *proper* trilinear, but it has some kind of fake trilinear I think. Anyway, a Rage128 has proper trilinear and it's the same gen as TNT. A CPU really takes it on the chin having to do the extra work to do trilinear. As did GPUs in the past of course, but not today.
Everybody at this forum (except me) has a graphics card with pixel shader support. But how many casual or average game players do you think still have TNT2 or similar hardware? It's a really big part of the market. Counter-Strike is often still played in software mode and it's just as fun. Also think of all the mid-range laptops with crappy 3D cards but a fast Pentium III. In all these cases, a software renderer like mine can bring things like bilinear filtering and shader effects. Since the first Voodoo, the CPU has evolved a lot, but noone ever looked at software rendering again!Grall said:Anyway, bragging that a celly might compete with a TNT as a software renderer once a bunch of optimizations/cheats are put in place is kinda impressive until you remember the TNT is slow as a snail today, much slower than the celly is compared to the most recent CPUs. I mean, when the GFFX benchmarks Q3A at 200+ fps at 1600*1200 *WITH* antialias on buggy hardware and early drivers... *Ahem*
Of course you are focussed on maximum performance, I am too, but only on the CPU. It's another point of view. A software renderer with unlimited shader capabilities can also bring truely infinite possibilities for offline rendering, especially for multi-processor systems.
A GPU will also always lag behind in new features. For example, one of my interests is to get acceptable image quality at low framerate by doing semi-analytical motion blur in one pass. Also edge antialiasing algorithms can be improved, so we can have much more shades on the edge without huge fillrate and bandwidth needs. In general, a software renderer allows you to be 'smarter' instead of using brute force because it has no limitations at all.
ThanksGrall said:So, what's your point, really? That you can write a software engine that runs a four year old game at an at least somewhat playable speed on a fairly weak CPU using basic quality settings, well in that case, congratulations! You're an accomplished programmer.
If the above explanation didn't suffice, allow me to throw the ball back. What's so 'meaningful' about a Geforce 4 Ti or a Radeon 9700? Name a few games that really wouldn't be fun without them, please. I admit pretty graphics are nice to look at, but has it improved games? I'm not a big gamer, but I don't see an important difference between Quake 1 or Quake 3, or Unreal Tournament in software or hardware mode.Grall said:But even you can't say it's really meaningful in any other sense than as a programming exercise, right?
Grall said:I mean, even if you had really really uber CPU clockspeed that could offset the inherent parallelism in a GPU, memory bandwidth would still strangle you compared to the real thing...[/qoute]
Intel's upcoming prescott will have 800 MHz memory bus speeds and a huge cache. It still won't be as good as the newest graphics card, but do we absolutely need more?
LOL, you answered your own question now See, a software renderer with shaders can be run on any computer with a GHz processor. Many office computers have a graphics card integrated on the motherboard with only basic triangle rasterization capabilities. But wouldn't it be interesting to let even these people enjoy for example online 3D animations? Why pay for an graphics card if your CPU can give satisfactory graphics?Grall said:PS: You should make your software engine into a winamp visual plugin or something, that would be cool and useful.
Anyway, I got the info I needed: using the name "Gigahertz" or anything similar for my renderer would only be relevant for a year or two. Yup, I only started this thread to have a name for my software renderer Any better suggestions? I was thinking of something with "retro" in it...