[Bug 28078] 1914 Shells of Fury: text rendering issue

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Aug 18 12:56:00 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=28078

--- Comment #16 from Stefan Dösinger <stefandoesinger at gmx.at> 2011-08-18 12:55:59 CDT ---
I think I see the problem. The app is using D3DTOP_SELECTARG1 as color and
alpha op, and D3DTA_SPECULAR as color and alpha arg 1. This means it is feeding
the specular alpha directly as input into the alpha blending operation.

The problem is that there is no such thing as specular alpha, at least not in
opengl. D3D usually puts manual fog coordinates there, but the fragment
processing can read the values there as well. So what the app does is murky,
but legal.

GL_EXT_secondary_color explicitly doesn't provide a glSecondaryColor4 function
to provide the secondary color in immediate mode. It also disallows secondary
color pointers with 4 components when using vertex arrays, but most GL
implementations accept them, and actually do what we want with them. So when a
vertex buffer is used this game works by luck.

So it's a different issue than I originally thought, but the prescription is
the same: With a vertex pipeline replacement shader we could use numbered
attributes to pass the specular color and make this behavior work reliably.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list