Code: Select all
InitSprite()
InitSprite3D()
OpenWindowedScreen(OpenWindow(0,0,0,800,600,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered), 0,0,800,600,0,0,0)
UsePNGImageDecoder()
LoadSprite(0, "bg_00.png", #PB_Sprite_Texture)
CreateSprite3D(0, 0)
LoadSprite(1, "bg_01.png", #PB_Sprite_Texture)
CreateSprite3D(1, 1)
ZoomSprite3D(0, 800, 600)
ZoomSprite3D(1, 800, 600)
Repeat
Start3D()
DisplaySprite3D(1, 0, 0)
DisplaySprite3D(0, 0, 0)
Stop3D()
FlipBuffers()
Select WindowEvent()
Case #PB_Event_CloseWindow
quit = #True
EndSelect
Until quit
bg_01.png: http://www.deeem2031.de/PB/bg_01.png
The result:

As you can see there are yellow pixels even thought the second DisplaySprite3D() should cover the whole screen. My guess is that the png decoder decodes the pixels with a RGBA(0,0,0,$FF) value as RGBA(0,0,0,0).
P.S.: Or DisplaySprite3D somehow interprets RGBA(0,0,0,$FF) as RGBA(0,0,0,0)