directdraw sprite roation beim blitting

nireus

Grünschnabel
hi! ich hoffe hier findet sich jemand, der directX kann...
ich wollte mal fragen, ob es eine softwareroutine gibt, die beim blitting vom offscreenbuffer in die grafikausgabe, ein sprite drehen kann?
es gibt eine möglichkeit:
PHP:
DDBLTFX  ddbltfx;  
 
ZeroMemory(&ddbltfx, sizeof(ddbltfx));
ddbltfx.dwSize = sizeof(ddbltfx);
ddbltfx.dwRotationAngle = 90;

targetBackBuffer->Blt(&rectDest, sourceOffScreenBuffer, &rectSource, DDBLT_WAIT|DDBLT_ROTATIONANGLE, &ddbltfx);
aber das funktioniert nur, wenn die grafikkarte DDBLT_ROTATIONANGLE unterstützt.
gibt es eine möglichkeit, dieses problem zu umgehen? also irgendeinen umweg auf dem directdraw das bildchen doch für mich dreht?

thx
 
du könntest eine eigene rotationsroutine schreiben
sprich->oberfläche sperren->die einzelnen pixel entsprechend des winkels versetzen

weiss aber nich ob du das hörn wolltest ;)
 
wollt ich eigentlich nicht hören... ich hab mich noch nie an Lock rangetraut, weil ich kA habe, in welcher form die daten da gespeichert sind und ich nicht weiß wie ich auf igendnen bestimmten pixel da zugreife
 
is relativ simpel
die bildinformation is in nem array gespeichert

array[pixelposition]=farbinformation

brauchst halt ne kleine umrechnungsfunktion damit du x,y verwenden kannst
ausserdem gibts noch ne vorgefertigte funktion die dir die eigentliche grösse des bildes zurückgibt
 

Neue Beiträge

Zurück