UseBuffer() mit DX9 BUG

Anfängerfragen zum Programmieren mit PureBasic.
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Beitrag von Christian+ »

So habe das heute jetzt mal noch gründlich bei mir ausprobiert und habe festgestellt, dass über den Screen bei DX9 auch nicht wirklich geht da Transparenz nur mit DX7 geht oder mach ich schon wieder was falsch.

Hier mal noch der Code aufs wesentliche gekürzt er läuft mit DX7 ohne Probleme bei DX9 aber geht die Transparenz verloren.

Code: Alles auswählen

InitSprite()
InitSprite3D()
InitKeyboard()

UsePNGImageDecoder() 

OpenScreen(800,600,32,"Test")

LoadSprite(0,"Schrift.png",#PB_Sprite_Texture|#PB_Sprite_AlphaBlending)

DisplaySprite(0,0,0)

GrabSprite(1,0,0,32,32,#PB_Sprite_Texture|#PB_Sprite_AlphaBlending) 

CreateSprite3D(0,1)

Repeat
Delay(1)
ExamineKeyboard()

ClearScreen(RGB(0,0,100))

Start3D()
DisplaySprite3D(0,0,0)
Stop3D()

FlipBuffers()

Until KeyboardReleased(#PB_Key_Escape)=1
End
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

das ist ein anderes problem, wurde letzten schon mal erwähnt...

die Farbcodierung die DX9 für die Transparenz verwendet ist channelverkehrt.

...

...

ich seh grad, dir gehts um Alpha-Transparenz.... :freak:

sag mal, klappt das wirklich mit DX7?

ich würde das jetzt grundsätzlich nicht voraussetzen, weil der Screenhintergrund selber ja keine Verwendung für den Alphachannel hat.

...

...

warum müßt ihr eigentlich so einen HORROR veranstalten...?

warum speichert ihr nicht einfach alle verdammten sprites einzeln und FERTIG...?

...

...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Beitrag von Christian+ »

Mit DX7 geht es!

Einzelbilder sind halt so eine Sache bei mehreren Schriften muss man dann halt immer mit hunderten von Einzelbildern hantieren finde ich nicht so praktisch aber wie es scheint ist es unter DX9 wohl so dennoch am einfachsten. Werde mal schauen das ich es so umsetze wenn mir keine andere Lösung mehr einfällt.

Edit: So ClipSprite3D läuft jetzt auch unter DX9 im englischen Forum hat Fluid Byte eine angepasste Version des DX7 ClipSprite3D reingestellt.
Link: http://www.purebasic.fr/english/viewtopic.php?t=36751
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Antworten