*nix Documentation Project
Title
Content
Arch
Section
mmode(3G)							 mmode(3G)

NAME [Toc]

 mmode	- sets the current matrix mode

C SPECIFICATION [Toc]

 void mmode(m)
 short m;

PARAMETERS [Toc]

 m	 expects a symbolic constant, one of:
	 MSINGLE puts the system into single-matrix mode. In single-matrix
	 mode, all modeling, viewing, and projection transformations are done
	 using a single	matrix that combines all these transformations.	This
	 is the	default	matrix mode.
	 MVIEWING puts the system into multi-matrix mode. In this mode,
	 separate ModelView, Projection, and Texture matrices are maintained.
	 The ModelView matrix is modified by all matrix	operations, except for
	 perspective, ortho, ortho2, and window	which always replace the
	 current Projection matrix.
	 MPROJECTION puts the system into multi-matrix mode. In	this mode,
	 separate ModelView, Projection, and Texture matrices are maintained.
	 The Projection	matrix is modified by all matrix operations.
	 MTEXTURE puts the system into multi-matrix mode. In this mode,
	 separate ModelView, Projection, and Texture matrices are maintained.
	 The Texture matrix is modified	by all matrix operations, except for
	 perspective, ortho, ortho2, and window	which always replace the
	 current Projection matrix.

DESCRIPTION [Toc]

 mmode specifies which matrix is the current matrix, and also determines
 whether the system	is in single-matrix mode, or in	multi-matrix mode.
 The matrix	mode and current matrix	are determined as follows:
		 ____________________________________________
		 | mmode	 matrix mode	current	matrix |
		 |___________________________________________|
		 | MSINGLE	 single	 only matrix |
		 | MVIEWING	 multi	 ModelView |
		 |MPROJECTION	 multi	 Projection |
		 | MTEXTURE	 multi	 Texture |
		 |___________________________________________|
 In	single-matrix mode, vertices are transformed directly from objectcoordinates
 to clip-coordinates by	a single matrix. All matrix commands
 operate on	this, the only matrix.	Single-matrix mode is the default
 mode, but its use is discouraged, because many of the newer GL rendering
 features cannot be	used while the system is in single-matrix mode.
									Page 1
mmode(3G)							 mmode(3G)
 In	multi-matrix mode, vertices are	transformed from object-coordinates to
 eye-coordinates by	the ModelView matrix, then from	eye-coordinates	to
 clip-coordinates by the Projection	matrix.	 A third matrix, the Texture
 matrix, is	maintained to transform	texture	coordinates. While in multimatrix
 mode, mmodes MVIEWING, MPROJECTION,	and MTEXTURE specify which of
 the three matrices	is operated on by matrix modification commands.	 Many
 GL	rendering operations, including	lighting, texture mapping, and userdefined
 clipping planes, require that the matrix mode be multi-matrix.
 Both the single matrix that is maintained while mmode is MSINGLE mode,
 and the ModelView matrix that is maintained while not in MSINGLE mode,
 have a stack depth	of 32.	The Projection and Texture matrices are	not
 stacked. Thus matrix commands pushmatrix and popmatrix should not	be
 called while the matrix mode is MPROJECTION or MTEXTURE.
 Changes between matrix modes MVIEWING, MPROJECTION	and MTEXTURE have no
 effect on the matrix values themselves. However, when matrix mode
 MSINGLE is	entered	or left, all matrix stacks are forced to be empty, and
 all matrices are initialized to the identity matrix.

SEE ALSO [Toc]


 clipplane,	getmmode, lmbind, lookat, ortho, perspective, polarview, rot,
 rotate, scale, texbind, translate,	window

BUGS [Toc]

 On	IRIS-4D	G, GT, GTX systems, and	on the Personal	IRIS, multi-matrix
 operation is incorrect while mmode	is MPROJECTION.	 Specifically,
 vertices are transformed only by the Projection matrix, not by the
 ModelView matrix.
									PPPPaaaaggggeeee 2222
Similar pages
Copyright © 2004-2005 DeniX Solutions SRL

AltStyle によって変換されたページ (->オリジナル) /