From: Brian P. <br...@va...> - 2001-03-07 03:03:33
|
Jeff Epler wrote: > > After reading about NV_vertex_program, an OpenGL extension which is > supported in hardware on the GeForce3 in Windows, I became interested > in implementing a software version of the feature. NVidia has recently > documented this feature in a comprehensive pdf document of OpenGL > extensions. > > I have a (somewhat tested) parser for the language and a (nearly untested) > 3DNow!/gas code generator for the vertex program language (one > instruction unimplemented, two instructions partially implemented, > the rest implemented but I've never actually executed the code, just > eyeballed it) This code is written in Python, and is thus far from likely > to be suitable for inclusion in its current form. > > I have implemented none of the added functions in Mesa, since I am > unfamiliar with the rendering pipeline. Right now all that exists is a > commandline program which takes the vertex program source and emits > assembly code suitable for feeding to GNU as. > > If you're interested in having a gander at my code, just drop me a line. > It's a ~20k tarball file which should run on any system with Python 1.5 > or newer installed. > > I'd also like to hear what thoughts people have on the NV_vertex_program > extension, on this list if it's considered topical, otherwise in private > e-mail. GL_NV_vertex_program is a really nice, exciting extension. It would be great to have it in Mesa. The issue is getting permission from NVIDIA to implement it in open-source. "NVIDIA Proprietary" is pretty clearly plastered over the pdf file. I'll be at the OpenGL ARB meeting next week. I'll talk to the NVIDIA folks about it. As much as I'm a fan of Python, we'd need a C implementation. As for your prototype and interfacing with Mesa, it shouldn't be hard to clearly abstract the inputs and outputs as simple data structures which could later be adapted for Mesa. An interpreter-based implementation would be fine for starters, and probably be easiest to debug, and most portable. Ideally, vertex programs would be compiled into 3dNow or SSE-optimized assembly code. -Brian |