• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Kurt Akeley
2List of potential OpenGL extensions
3
4$Id: //depot/main/doc/registry/extensions/future#11 $
5
6   *	Consider supporting color conversion in both the pixel and
7	geometry paths.  This requires a color mode for TexGen and
8	a pre-texture lookup (rather than a lookup in the pixel path).
9	It might also be possible to use the color matrix in both
10	the pixel and geometry paths.
11
12    1.	Replace undefined pixel color components with specified values
13	as part of the "Final Expansion to RGBA" operation.  Allows alpha-
14	only images to pick up a useful color.
15
16    2.	Attached video texture.  Automatic double buffering with
17	swap linked to buffer swap.  Video locked to buffer swap
18	also.
19
20    5.	Support non power-of-two texture dimensions for single-level
21	(non mipmapped), clamped texture images?  (Is this really
22	necessary?)  If we do this, then eliminate the "null" texture
23	definition stuff.
24
25    8.	Support automatic generation of mipmap images.	Control with mode
26	"attached" to a named texture.	Generate only down to the
27	low-LOD level.
28
29Features that have since been implemented:
30
31    3.	Perform integer decimation during pixel unpack/pack.  Separate values
32	for x, y, and z decimation.
33
34	Done: decimation.
35
36    4.	Support LUMINANCE and LUMINANCE_ALPHA framebuffer formats.
37	Use GLX to do all the work - only change to OpenGL is to define
38	what the framebuffer returns for green and blue when there are
39	no bits (alpha already defined).
40
41	Done: fbconfig.
42
43    6.	Allow additional named textures to be created, manipulated,
44	and bound.
45
46	Done: texture_object.
47
48    7.	Allow specification of lowest and highest mipmap level.
49	Attach this mode to named textures.
50
51	Also support separate bias of LOD-in-x and LOD-in-y computation.
52	(GL_LODX_OFFSET and GL_LODY_OFFSET are suggested by rad.)
53
54	Done: texture_lod.
55
56    9.	Add a new texture clamp mode that really clamps to the
57	border color (nearest, linear, or cubic filtering).  Check with
58	Kona folks to be sure that this is all that is necessary.
59
60	Done: texture_border_clamp and texture_edge_clamp.
61
62   10.	Define image buffers - drawing surfaces associated with a
63	rendering context that are not displayable.
64
65	Done: pbuffer.
66
67   11.	Add info about transparency to the level stuff in GLX (what color,
68	if any, is transparent in that level).
69
70	Done: visual_info.
71
72   12.	Define a mechanism that renormalizes normals cheaply when all
73	scales are uniform.
74
75	Done: rescale_normal.
76
77   13.	Define support for multiple active textures.
78
79	Done: multitexture.
80
81   14.	Introduce new <type> tokens to support packed pixel data
82	types.	For example, GL_PACKED_INT, GL_PACKED_SHORT, and
83	GL_PACKED_BYTE.  Then define the formats that result when
84	these new types are used in conjunction with currently-
85	defined formats.  For example, format GL_RGB with type
86	GL_PACKED_INT might be
87
88		xxbbbbbbbbbbggggggggggrrrrrrrrrr
89
90	Done: packed_pixels.
91
92   15.	Add argb format to support photoshop, etc.
93
94	Done (BGRA combined with _REV packed pixel formats in OpenGL 1.2).
95
96   16.	Add input color mux to pixel path.  Allows red to be sourced
97	by red, green, blue, alpha, zero, or one.  Likewise green, blue,
98	and alpha.  Could also use this mechanism to throw away a fifth
99	component from a CMYKA image!  This would elminiate the need for
100	RGBAx and xxxxA image formats.
101
102	Done: color_matrix.
103
104   17.	Support high-resolution pixmaps (lots of bits of color) even
105	if only low-resolution visuals are supported by the framebuffer.
106
107	Done: fbconfig
108
109   18.	Variable display resolution (on the fly)
110
111	Done: video_resize.
112
113   19.	Light points (automatic shading based on range, even field
114	intensity, etc.)
115
116	Done: point_parameters.
117
118   20.	Textured stamps.  (Like trees.)
119
120	Done: sprite.
121