Subject: Re: Nvidia petition ..put it on the website
To: Peter Bex <Peter.Bex@xs4all.nl>
From: Chuck Swiger <cswiger@mac.com>
List: netbsd-users
Date: 12/07/2006 11:23:02
On Dec 7, 2006, at 10:14 AM, Peter Bex wrote:
>> This said, both Sun and Apple have open-sourced much of their
>> operating system & driver software, but there exists significant
>> resistance from ATI & nVidia about releasing their respective
>> hardware APIs, because of the high level of competition in the
>> graphics world over minor differences in performance and video
>> quality between the two.
>
> I don't understand why they can't follow the way of Id Software.
> They had 3D-engine technology they wanted to keep secret from
> their competitors, but they released the full sources in GPL form
> after a couple of years.  As the technology ages, keeping it secret
> is just not an argument anymore.

While I would agree with you, and I believe that Id Software deserves  
a great deal of credit for their open approach, part of what happened  
with Id is that they decided to start selling game engines for other  
companies to build scenarios on top, much like EPIC does with the  
Unreal engine.

It's not surprising that the APIs involved would become more widely  
published, although it is nice that Id went all the way to GPL'ing  
their older sources.

> I sure wouldn't have a problem with it if the drivers were available
> only for slightly outdated models.  At least my desktop wouldn't
> be insanely sluggish because Mesa needs to use my (also outdated)
> CPU to crunch the numbers instead.

I don't believe the hardware APIs for doing basic polygon texturing  
and accessing the pixel & vertex shading engines have changed very  
much from generation to generation.  Sure, new pixel formats like  
FP16 or FP32 have been added for "High Dynamic Range" rendering  
(along with 10-bit rather than 8-bit per color channel  
representation, for newer DVI or HD-capable devices), and the limits  
and number of registers & branchpoints for procedural shading have  
increased over time, but the basics of mip-mapping textures, bilinear/ 
trilinear/anisotropic filtering, and anti-aliasing are still the same  
today.

And lot of the improvements being made involve better occlusion  
culling, better choice of subpixel sampling positions for doing anti- 
aliasing, support for anti-aliasing of alpha-blended textures as full- 
screen multisampling has become fast enough to be useable at high  
resolutions, and so forth-- improvements within the hardware domain  
which do not affect the software interfaces directly.

[ Disclaimer: I've followed the NeHe OpenGL example code to some  
extent, and I've written relatively programs of my own which use  
OpenGL to draw stuff, but I'm by no means an expert at computer  
graphics. :-)  But I recall people were using pixel-shading programs  
to apply dynamically generated wood or marble-like textures to the  
Utah teapot back in the days of Pixar's Renderman running on NeXT  
hardware without any graphic acceleration besides the CPU. ]

-- 
-Chuck