I ran a little test, it didn't show any differences in Wine or XP in such case (D3DTA_TEXTURE alpha selected and no alpha in texture pixelformat). This seems to give alpha=1.0. I found nothing on this at msdn, but it more or less makes sense (no alpha = opaque image). Do you think there would be any use in adding such test to ddraw/tests/visual.c?
Stefan Dösinger wrote: > Am Montag, 7. Januar 2008 07:55:08 schrieb Alexander Dorofeyev: >> "D3DTBLEND_MODULATE Modulate texture-blending is supported. In this mode, >> the RGB values of the texture are multiplied with the RGB values that would >> have been used with no texturing. Any alpha values in the texture replace >> the alpha values that would have been used with no texturing." > D3DTA_TEXTURE has a somewhat strange behavior. If no texture is set, it > behaves like D3DTA_PREVIOUS. Perhaps for alphaarg it behaves similarly if > there is a texture, but it has no alpha. If that is the case, then I think it > matches what you need for D3DTBLEND_MODULATE. Otherwise I think a private > value like your D3DTOP_DX6MODULATE is the only way. > > So I'd say test how D3DTA_TEXTURE should behave, maybe we implement it > incorrectly at the moment. > >