Re: using OpenGL to implement a window manager

Keith Packard <[email protected]> Fri, 23 Apr 2004 17:33:27 -0700
Newsgroups gmane.comp.freedesktop.xserver,gmane.comp.video.mesa3d.devel
Message-ID <[email protected]>
Around 16 o'clock on Apr 23, Jon Smirl wrote:

> Suppose xserver is applying a trapezoidal transform to an application
> window before displaying it.  Now I want to set this trapezoidal transform
> in OpenGL before letting the app draw the window. The app should be totally
> unaware I set this transform and instead think it is drawing into a flat
> rectangular buffer. 

I think there are four choices:

 1)	Application draws to a rectangular pixel buffer which is then
	transformed to the screen

	+)	"correct" pixelization semantics for all operations,
		this is how X rendering must be done.

	+)	No repaint needed when changing the transformation.

	-)	ugly results

 2)	Graphics system applies transformation matrix to post-tesselation
	objects

	+)	No change to X/GLX protocol needed
		Simple polygons look sharp

	-)	pixelization dependent tesselation will still
		show artifacts (splines may look chunky at high 
		magnification)

	-)	still no solution for glyphs; they're images in the
		current protocols

	-)	Changing the transformation requires repainting every
		window.  I thought we wanted to avoid this.

 3)	Graphics system applies transformation matrix to high-level
	objects

	+)	Everything looks sharp

	+)	With display lists, redisplay at new transform would not
		involve the client

	-)	Everything has to be rewritten.
	
	-)	Tesselation policy is now fixed in the server

	-)	Font support is now dependent on server capabilities,
		and more-or-less requires display list support

	-)	Display lists in the X server is a "bad idea".

 4)	Graphics system hands transformation matrix to application

	+)	Everything looks sharp

	-)	Everything has to be redrawn each time the transform
		changes

	-)	Global transformation changes will cause global repaint.
		I thought we wanted to avoid this.

-keith

_______________________________________________
xserver mailing list
[email protected]
http://freedesktop.org/mailman/listinfo/xserver
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Exmh version 2.3.1 11/28/2001

iD8DBQFAibXWQp8BWwlsTdMRAmm3AJ0Qy8+9iofFy+2XVOSw2idFEgvU+QCfVz7B
o62vVWfN8qU9Fz2TDrTIUUM=
=f5TW
-----END PGP SIGNATURE-----