|
|
ARB Meeting NotesDecember 3-4, 1998Hosted by Metro Link in Fort Lauderdale, FL Meeting notes taken by Jon Leech, SGI |
| Adrian Muntianu | ATI | muntianu 'at' atitech.ca |
| Allen Gallotta | ATI | alleng 'at' atitech.com |
| Bill Armstrong | Evans and Sutherland | armstron 'at' es.com |
| Bill Clifford | Compaq | william.clifford 'at' digital.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 |
| David Yu | SGI | dyu 'at' sgi.com |
| Fred Fisher | 3Dlabs | fred.fisher 'at' 3dlabs.com |
| Garry Paxinos | Metro Link | pax 'at' metrolink.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 |
| Jon Khazam | Intel | jonathan.khazam 'at' intel.com |
| Jon Leech | SGI | ljp 'at' sgi.com |
| Kent Lin | S3 | klin 'at' s3.com |
| Kevin Lefebvre | HP | kevinl 'at' fc.hp.com |
| Kurt Akeley | SGI | kurt 'at' sgi.com |
| Mahesh Dandapani | Rendition | mdi 'at' rendition.com |
| Matthew Papakipos | NVIDIA | papakipos 'at' nvidia.com |
| Michael Gold | NVIDIA | gold 'at' nvidia.com |
| Miriam Geller | SGI | miriamg 'at' sgi.com |
| Pat Brown | Intel | patrick.r.brown 'at' intel.com |
| Paul Jensen | 3Dfx | pgj 'at' 3dfx.com |
| Rob Wheeler | 3Dfx | wheeler 'at' 3dfx.com |
| Stuart Anderson | Metro Link | anderson 'at' metrolink.com |
| Tim Kelley | Real 3D | kelleyt 'at' real3d.com |
| Tom Frisinger | ATI | tfrisinger 'at' atitech.com |
| Victor Vedovato | Micron | vvedorato 'at' micron.com |
OpenGL 1.1 ICD has shipped. This frees up SGI resources to apply to OpenGL 1.2.
GLU 1.3 code is nearly ready for beta. It will go out soon for testing by licensees who have OpenGL 1.2 implementations.
OpenGL 1.1 SI code merge with optimized Intel code is running inhouse now. Available within 2 months.
OpenGL 1.2 without ARB_imaging available before March. 1.2 complete in March.
Jack Middleton ran this segment. 3 bindings were presented at the September ARB meeting. Jack created an issues list based on ARB and email list feedback; responses to the issues were received covering Magician and (very recently) JSparrow. Jack suggested Magician as a baseline and reviewed their response (also available in PDF).
Jack brought up two other points on behalf of Sun. First, due to trademark issues, we should not use the name "JavaGL". He instead suggests "JavaGL(R) Bindings for OpenGL(R)". Second, Sun wants to allow for Magician's composable rendering pipelines as a vendor layer but not require them in the base spec.
This is intended to be the final definition round for conformance tests, followed by online voting for the code once that's ready. Some licensees are starting to make 1.2 implementations available in advance of the new SI, so conformance has become a higher priority.
texdecal - Nvidia and Rendition pointed out a problem with this test at the last ARB meeting. It should use max(epsilon.texture,epsilon.color) as the error bound, in cases where texture depth exceeds frame buffer depth.
blend - Should be done iff the imaging subset is supported. Don't use 0.5 as the blend value - use 0.5 + an epsilon corresponding to the frame buffer resolution.
All imaging operations which do complex arithmetic - assume no more than 8 bits precision/component internally and compute error bounds based on that.
color matrix - use non-random values in the last two columns. Set up the matrix so that two components are permuted, one component is undersaturated, and one is oversaturated. Use some matrix elements with magnitude > 1 and some negative elements.
color table - start proxy query at 32 entries (guaranteed to be supported) and double, so it's guaranteed to fail. Use the same (1/(max(FB resolution,table resolution)) error epsilon throughout. Check if the alpha test ECP is appropriate. Change the RGB maps so they independent ramp 0 -> 1/2, 0 -> 1, and 1 -> 0.
convolution - relax error tolerance due to the cascaded operations. Need to look at the specified kernels and images again, though this can easily be changed once the test proper is available.
edge clamp - use a solid green texture with BORDER_COLOR blue. Use a larger texture with a distinct interior color (red).
histogram - increase mustpass size to 16. Allow for +/- 1 bin slop in where samples fall.
minmax - return to non-black, non-saturated colors.
Chris distributed a document discussing IP issues in multivendor extensions and suggesting how to deal with them.
Mahesh updated status of the proposed EXT_texenv extension. He looked at passing arrays of enums to TexEnv to specify the entire blending equation at once; Kurt felt that this wasn't consistent with the rest of the API.
Michael Gold and Tom Frisinger presented the EXT_texenv_op specification ATI and Nvidia are working on. EXT_texenv has taken a long time; their extension is proposed as a vendor-specific alternative in the interim.
EXT_texenv_op takes multitexture to the next stage, exposing much more of the capabilities of their texture pipelines. Other hardware has similar capabilities soon; they looked for a reasonable subset many vendors could agree on, with an easy mechanism to layer additional vendor capabilities as separate extensions using the same interface.
EXT_texenv_op specifies an operation, operands to the operation, and sources of the operands. RGB and A (alpha) operations are split, and crossover between the two is allowed.
Kurt asked how to distinguish new from old operations, and why there's a merged RGBA operation when RGB and A are available separately (principally for convenience).
Could the TexEnv MODE be used to specify operations, instead of TexEnvOperationEXT? There's possible ambiguity with MODULATE.
Specifying such complex blending operations requires a lot of fine-grained API calls. Should we revisit using dlists to encapsulate these state changes, or vectors of arguments ala Mahesh's proposal for EXT_texenv?
EXT_texenv_op provides a*b; Nvidia supports a more general (a op b) op (c op d). How to layer this?
TexEnv(... mode, OPERATION)
TexEnv(... operation, ADD_MODULATE_01_MODULATE_23)
Or,
TexEnv(...mode, A_OP_B) /* or AB_OP_CD */
TexEnv(...operation, ADD)
Jim Bushnell proposes texture environment objects:
BeginEnv()
/* specify ops */
EnvEnv()
Determing what expressions are supported is complicated. One mechanism would be to provide a very general interface, and indicate the set of supported expressions through the extension string. Instead of a validation mechanism, this describes an entire family of supported expressions.
To drive these questions to closure, there's interest in having a weekly conference call among interested vendors - discuss with Jim.
Steve Wright joined by telephone. Returning to the 1.1 ICD briefly, Steve asked that people let him know if they haven't received the CD. About 30 copies are out now. It will be announced on the same day as the next monthly hardware newsletter comes out (December 14).
Dale discussed Intergraph's original proposal. Given a pixel format descriptor, it would allow selectively turning on extended capabilities. The SGI approach mirrors GLX by increasing the number of pixel formats, always enabling all extended capabilities for an individual PFD. Intergraph is probably agreeable to using this approach.
Steve said that it may be too late to get this extension into NT5, which is approaching Beta 3, but he'll try to squeeze it in. He's also concerned about the support burden of two parallel mechanisms for obtaining PFDs, as done in the SGI approach - he'd prefer either two completely separate code bodies, or layering the old code on the new internally.
IHVs interested in WGL extensions should notify Steve Wright of their interest. Microsoft is probably willing to manage an enumerant / name registry, analogous to the GL and GLX registries, or hand it off to SGI. Microsoft agreed to create a reserved enumerant space for WGL by 1/1/99.
Dale and/or Michael will propose a WGL extension "bootstrapping" mechanism (so a WGL extension string can be queried).
Mahesh provided an update on this. Since compression is a texture parameter, why require a compressed internal format parameter for TexImage?
Jon pointed out that the definition of texture completeness should be extended to require the same compression method on each mipmap level.
Kurt thinks texture management issues should be dealt with by the scene graph - OpenGL doing it makes life difficult for a scene graph trying to do the same thing.
There's no way to query what compression method was actually applied - should there be a new TexLevelParameter to return this?
packed pixels - added a readback in packed format. Note that color epsilon changes per component for packed formats. Added _REV formats to mustpass. Michael will update the test.
rescale normal - since either NORMALIZE or RESCALE_NORMAL may be used, the tests should allow for either. Remove nonuniform scale from mustpass.
separate specular color - there are only 10 distinct results in 48 cases tested. Could just pick these 10 and use for mustpass. There could be trouble with picking a point close to the vertex given the laxness allowed for color interpolation.
texture lod control - need to talk offline with Chris Frazier to figure out how to test LOD selection.
texture3d - Tim and Chris will discuss changes to the test and get back to Jon.
3DFX will host the next ARB meeting, March 1999 in Santa Clara, California.