Seite 2 von 2

Verfasst: 01.06.2006 12:06
von Kaeru Gaman
> da dürften aber einige (ati ) grakas damit probleme haben. für sprite3d sollte man schon grössen im ^2 format verwenden.

is scho recht...

das umgehe ich, indem ich das textursprite auf das ich zeichne als 512x512 erzeuge...
ich muss es dann ja nur proportional strecken..

für nen 1024x768 Screen könnte man es dann
- auf 1638x1638 strecken, um das bild voll zu haben, oder
- auf 1536x1536, um genauen faktor 3 zu haben,
dann halt mit rand anzeigen...

letzteres wäre dann quasi ein 960x720 mittig auf dem 1024er

Verfasst: 01.06.2006 14:33
von nco2k
@KG
ja aber kann das nicht auch probleme machen, also das strecken auf eine grösse <> ^2. :?:

c ya,
nco2k

Verfasst: 01.06.2006 15:29
von Kaeru Gaman
nein, das läuft immr einwandfrei, sonst wäre die ganze texturengeschichte doch lötzinn.

ich kann doch auch auf ungleiche seitenverhältnisse strecken.

also, ich speicher ein bild verzerrt auf 256x256.
darstellen tu ich es in 128x96, 160x120, 200x150, je nachdem, wie weit die spielfigur weg ist.

nur die ursprungstexture muss ein 2^x*2^x sein, und das auch im bereich von 16² bis 512² bei ganz alten, neuere bis 1024² oder 2048²,
aber letztere können oft auch schon rechteckige textures verarbeiten.

Verfasst: 01.06.2006 15:53
von Stefan
Du könnstest mal folgendes probieren:
1.)
Alle Sprites erst auf ein anderes Sprite(Videomem) zeichnen und mit einem DisplaySprite in den BackBuffer kopieren.

Code: Alles auswählen

MyBuffer=CreateSprite(#PB_Any,320,240)
;...

UseBuffer(MyBuffer)
;... (Deine Zeichenbefehle)

UseBuffer(-1)
DisplaySprite(MyBuffer,0,0) ; Alles auf einmal in den BackBuffer kopieren.
FlipBuffers()
oder
2.)
Alle Sprites mit #PB_Sprite_Memory laden.(Sollte das darstellen der Sprites auf den Sysmem Backbuffer beschleunigen)

Hoffe das hilft dir weiter.

Gruß
Stefan

Verfasst: 01.06.2006 15:56
von Kaeru Gaman
> Alle Sprites erst auf ein anderes Sprite(Videomem) zeichnen und mit einem DisplaySprite in den BackBuffer kopieren.

war doch der kernpunkt meines vorschlags, oder? :|