OpenGL

ARB Meeting Notes

June 15-16, 1999

Hosted by ATI in Boston, MA

Meeting notes taken by Jon Leech, SGI

Attendees

Adrian Muntianu ATI muntianu 'at' atitech.ca
Alex Herrera SP3D alex.herrera 'at' sp3dtech.com
Allen Gallotta ATI alleng 'at' atitech.com
Andy Vesper Mitsubishi Electric vesper 'at' merl.com
Benj Lipchak Compaq benjamin.lipchak 'at' compaq.com
Bill Armstrong E&S armstron 'at' es.com
Bill Clifford Compaq william.clifford 'at' compaq.com
Bimal Poddar Intel bpoddar 'at' pcocd2.intel.com
Brian Paul Avid/Softimage brian_paul 'at' avid.com
Bruce D'Amora IBM damora 'at' austin.ibm.com
Chris Frazier Raycer cfrazier 'at' raycer.com
Dale Kirkland Intergraph kirkland 'at' ingr.com
Dan Brokenshire IBM brokensh 'at' austin.ibm.com
Elio Del Giudice Matrox edelgiud 'at' matrox.com
Igor Sinyak Intel igor.sinyak 'at' intel.com
Jack Middleton Sun jack.middleton 'at' eng.sun.com
Jason Mitchell ATI jasonm 'at' atitech.com
John Dennis Sharp Eye jdennis 'at' sharpeye.com
John Stauffer Apple stauffer 'at' apple.com
Jon Leech SGI ljp 'at' sgi.com
Ken Cameron Pixelfusion ken 'at' pixelfusion.com
Ken Nicholson SGI nicholson 'at' sgi.com
Kevin Lefebvre HP kevinl 'at' fc.hp.com
Kurt Akeley SGI kurt 'at' sgi.com
Mahesh Dandapani Micron mdandapani 'at' micron.com
Martina Sourada ATI martinas 'at' atitech.com
Michael Gold NVIDIA gold 'at' nvidia.com
Randi Rost 3Dlabs rost 'at' 3dlabs.com
Rick Hammerstone ATI rhammers 'at' atitech.com
Rob Wheeler 3dfx wheeler 'at' 3dfx.com
Shari Petersen Rendition/Micron shari 'at' rendition.com
Steve Wright Microsoft swright 'at' microsoft.com
Tom Frisinger ATI tfrisinger 'at' atitech.com
Vikram Simha Mitsubishi Electric vikram 'at' merl.com

Summary of Discussion Topics

Tuesday, June 15

Fahrenheit Scene Graph Status

Although not really an ARB topic, Steve Wright reported on status of the joint SGI/Microsoft Fahrenheit Scene Graph project. FSG is in alpha at about 2 dozen sites. SGI is managing most of the alpha relationships. Alpha 2 update in mid-summer, beta in fall, shipping in early 2000. The beta program will involve about 100 ISVs.

With the recent Microsoft reorg, their OpenGL group has moved back into the NT group. Steve is looking for engineers to work on OpenGL.

ICD / SI Status

Ken Nicholson, who recently joined SGI as manager of the OpenGL Group, reported on schedules. The OpenGL 1.2 ICD is going to beta on July 1st; remaining work is putting the remainder of the imaging subset in. Expected to finish by SIGGRAPH. Microsoft can release a beta ICD kit to IHVs in about 3 weeks.

A potential holdup is the conformance test source code contributed by companies other than SGI. SGI needs copyright clearance before they can redistribute that code electronically, and Microsoft requires it before they can issue the final 1.2 ICD kit.

The ogl-win-{interest,support,announce} mailing lists for ICD licensees have seen very little traffic. One thread requested clarification of mode switching semantics.

Extensions

The texenv_combine extension has been shipping in ATI's driver for about a month, NVIDIA's driver for about a week.

Michael Gold reported that the proposed texenv_object extension, or the "state object" counterproposal by David Blythe, is still in process. He wants to resolve this before moving forward on future extensions for additional texture combiner modes.

Texture compression is also still in process. Michael suggested moving towards a format-neutral extension to avoid 3rd-party licensing issues. Rob asked about interest in finishing this - ATI, NVIDIA, Intel, Raycer, SGI.

John Dennis asked about extensions to expose surface information at API level for Windows - e.g. making host textures or draw/read pixels client data resident in AGP memory. Steve will look into reviving DirectDraw bindings document.

Demand seems to be for rendering into textures, not necessarily having data in host memory. Kurt suggests that we might add a "move" semantic which would allow repurposing a pbuffer style image to a texture and removing renderable semantics.

ChrisF asked about obtaining status of extensions - hard to do retroactively, but planned going forward with new extension templates.

John Dennis and Chris brought up KTX_buffer_region and related Autodesk extensions again. Some concern about ISVs convincing IHVs to support extensions by claiming "everyone else" is shipping it. IHVs need to treat such claims with scepticism, insist on a spec, and coordinate with each other in future cases.

KTX_buffer_region is also underspecified, and now other ISVs are starting to use it. Intergraph has an internal spec. Steve can have evangelism folks work on Kinetix to promote this to an EXT. Pbuffers appear to be a better longterm solution to the backing store problem that buffer_region addresses.

Concern about ARB_multitexture allowing a minimum of one multitexture unit. Should we change to two? Straw poll indicates that essentially everyone except IBM would support this, but there may not be strong enough feeling to make the change.

In retrospect, might have been wiser to separate the entry points as one extension, and the existence of more than 2 textures as a separate extension string.

Extension Registry

Add "how to get started" section for new developers.

For people not already licensees, list contact points at different vendors.

ChrisF, Michael Gold, Dale Kirkland, Dan Brokenshire, Bill Armstrong volunteer as contacts for new extensions. Might set up mail alias to forward to all of them?

John Dennis suggests that PC ISVs are reluctant to go to anyone other than "their vendor". Might just not list affiliations of contacts.

Are extension dependencies well understood? Old model was that extensions should address all interactions with lower-numbered extensions.

Issues in bringing extensions to a new platform: GLX protocol, GLX/WGL interactions, whether extensions are implementable under the "other OS". Conceptual points to address:

Should put a strong recommendation about anticipating platform issues on platforms you're not writing the extension for.

Notify arb-interest list again of draft registry location.

In writing specs, be more verbose - include more context. Perhaps recommend that both tables and paragraphs being changed be included in their entirety.

Should dependency list also say that extensions require that other extensions not be implemented?

Enum Clashes

Should push enum registry out to the website on a continual basis as it's updated at SGI.

Would be nice to have a complete enum list, but probably impractical.

Extension Headers

Four possibilities

Might add the interface to the extension template.

Dale and Michael are interested in helping out with maintaining a global header file on opengl.org.

OpenGL Installation and Setup

GLSetup was recently released, solving a problem (getting the right Win9x OpenGL drivers) and creating a problem (crashing servers hosting GLSetup due to high traffic).

This might be solving a short-term need (drivers new enough to work with the app), with better drivers becoming widespread.

Ken Nicholson wondered about longterm maintenance of GLSetup - is this something that someone other than Definition 6 might pick up? Or similar utility for other platforms?

Michael suggests a "how do I get OpenGL on my system" page on opengl.org. Address different Windows 9x/NT issues, legacy drivers like 3dfx non-ICD, etc.

Steve Wright suggested that several different technology paths might solve the longterm problem, and that opengl.org should be prepared to pick up GLSetup if Chris Hecker drops it for some reason. "Windows Update" web site might provide a central source for updating drivers and solve this problem, too.

OpenGL History/Future

Development effort began in 1989. Experience of trying to write a spec for IrisGL evolved to OpenGL.

Kurt has notes on things that were done well and poorly. In this context, where should we go? OpenGL 2.0? Initially planned not to, but 10 years has passed.

Good Stuff

Bad Stuff

Others mentioned by attendees:

How to Move Forward

Multitexture

The sense of the meeting is that ARB_multitexture should be changed to enforce a minimum of two texture units if the extension is supported. Jon will send out an updated spec for evaluation.

Conformance

General issue: make sure RasterPos is drawing pixels in the exact needed locations - probably bias by .5 from integer coordinates.

mustpass.c

ARB_imaging mustpass tests

Conform tests

shell.c needs to use GL_ARB_imaging and GL_ARB_multitexture instead of ARB_imaging and ARB_multitexture.

Michael proposes making wrapper code for calling extensions live in the platform-dependent section of ctk. Entry points would actually be defined in ctk, call wglGetProcAddress or equivalent, etc. Function pointers would be cached away in dispatch table, buffer., or similar location.

Testlist structure in tests.c will call tests even if they are noops because e.g. ARB_multitexture isn't supported. Michael proposes adding a new return code for Exec routines to indicate that the routine is not supported, so that the conform.x printout doesn't say an extension passes even though it isn't actually running the test.

Remaining test proposals will be finalized online.

Next Meeting

SGI suggested they host the next ARB meeting near Mountain View, CA, Tue-Wed, September 14-15 1999. Subject to discussion with volunteers.

Thanks to ATI for hosting this meeting!