Please do not reply to this email: if you want to comment on the bug, go to
the URL shown below and enter yourcomments there.
------- Additional Comments From rscheidegger@... 2005-09-19 15:22 -------
(In reply to comment #10)
Just a sidenote, ut2k3 emits 3 coords because it uses projective texturing (for
instance antalus map tree shadows), it will simply use the texture matrix to
swap r and q coords (saves some vertex size that way). Thus you can't simply
only submit 2 coords in that case, the code is quite broken I think wrt emitting
tex coords in that area. I'm not quite sure how the coord selection works, on
r200 there is an explicit selection if you want to use the 3rd or 4th texture
coordinate for the texture AGU, which isn't present on r100 it seems. I'd
suspect it just always uses coord number 3, and unlike the r200, it looks like
you can't even submit all 4 coords, which makes this probably hard to work for
all cases (actually, impossible for hw tcl). Maybe if an app uses 3 coords for a
2d texture, just assume it will later use the texture matrix to calculate a q
coord. The texture matrix would probably need some adjustments to take this into
account (e.g. 3rd and 4th line need to be swapped if my math is correct, so that
the final q coord output is the 3rd coord. Actually, I think the current code is
broken when 4 coords are supplied too, since when you submit the 4th coord as
the 3rd, you'd need to swap columns 3 and 4 of texmat I think, followed by
swapping lines 3 and 4 to get the 4th coord out as the 3rd - not doing any
swapping at all will only work for "simple" matrices.
There are more problems with texmat, as far as I can tell the argument order is
reversed when doing the _math_matrix_mul_matrix in update_texturematrix (this
was fixed in r200, should be the same in radeon).
I think the swapping needed for texture matrix is probably the reason that q
coord texgen is not supported currently.
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.