Direct3D Z order question
Joseph Garvin
k04jg02 at kzoo.edu
Sun Feb 12 12:54:14 CST 2006
Stefan Dösinger wrote:
>>Err reading your e-mail again, pardon my directx ignorance, but aren't
>>all d3d z values supposed to be in the [0.0, 1.0] range? I thought that
>>was the range for the z buffer. I recall reading that one of the main
>>annoyance differences between OpenGL and D3D was OpenGL used [-1.0, 1.0]
>>for depth and D3D used [0.0, 1.0].
>>
>>
>
>I've found the reason for the problems in half-life: HL draws with 2 different
>viewports, one with z...[0.0, 1.0], and another one with z...
>[0.0.5.33333...].
>
2 different viewports or just two different projection matrix settings?
The way 2D overlays are handled in OpenGL from my (very limited)
experience is that you setup your normal glPerspective, and then once
you've drawn everything in the world, you switch to a glOrtho2D and do
whatever 2D drawing you want on top. GL viewports just specify what what
pixels in the window OpenGL has control over... if they use two whole
different viewports instead of just changing projection settings that
either strikes me as really dumb or that they're doing some black magic
I don't know about ;)
Unless the viewport and the projection matrix are tied together in
DirectX? If so there's a possible optimization in having the DirectX
viewport function call check if everything that would be passed to
glViewport is the same and if so only make the appropriate
glOrtho/glPerspective call. I'm not sure how expensive a glViewport call is.
More information about the wine-devel
mailing list