Incompatabilities between TG and GTX

Kian-Tat Lim ktl at wag240.wag.caltech.edu
Wed Sep 26 05:18:53 AEST 1990


	We've got a user who is attempting to render spheres using
hardware lighting (one infinite light source) on a 4D/25TG and a
4D/340GTX.  He wants to do real-time movements, also.  He has
encountered a strange situation in which identical code acts
differently on the TG and GTX.  In particular, it seems that normals
pointing directly toward the viewer are being flipped to point away on
the TG.  There may be other transformation-related problems, too.

	His code is somewhat (hah!) convoluted, but basically it looks
like this:

	winopen
	RGBmode
	gconfig
	lsetdepth
	zbuffer
	mmode(MVIEWING)
	loadmatrix(identity)
	lmdef/lmbind stuff

	translation
	getmatrix(orig)

	loadmatrix(identity)
	getmatrix(current)
	ortho
	doublebuffer
	gconfig

	loadmatrix(identity)
	getmatrix(current)
	ortho
	doublebuffer
	gconfig

	multmatrix(current)
	getmatrix(current)
	multmatrix(orig)
	getmatrix(user)
	loadmatrix(identity)
	render

	All the matrix stuff is supposed to get the current
transformation matrix (with rotations/translations from dials and the
original translation from "orig") into "user" so that it can be used
by the rendering code.  In the above, all of these matrices should be
the identity, except for "orig" and "user".

	I wasn't too happy about the multiple calls to gconfig, but he
claims that the normals are flipped even on GTX when he doesn't do
things this way.

	Does anyone have any idea what could be going on here?
-- 
Kian-Tat Lim (ktl at wag240.wag.caltech.edu, KTL @ CITCHEM.BITNET, GEnie: K.LIM1)



More information about the Comp.sys.sgi mailing list