Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[SDL] Texture vs. Surface

Pagina: 1
Acties:

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Topicstarter
Ik ben voor een nieuw experimentje aan het kijken naar SDL 2.0 of SFML, na vroeger wel eens gewerkt te hebben met SDL 1.2. Hier moet even bijgezegd worden dat ik nog wel een beetje een leek ben op grafisch gebied..

Bladerend door de wijzigingen in SDL 2.0 kom ik tegen dat hardware en software surfaces qua datatypes gesplitst zijn, waar vroeger een surface een hardwarebitje (SDL_HWSURFACE) meekreeg is het nu een SDL_Texture type geworden. Echter; deze zijn niet te blitten. In mijn oude SDL-projecten gebruik ik echter overal hardware surfaces (immers veel sneller) en die waren toen nog wel gewoon te blitten.
Als ik zoek op internet is de verklaring dat textures in video memory staan en daardoor razendsnel te kopiëren zijn naar het scherm maar daardoor niet te blitten en dat ze vooral "statisch" moeten zijn of je moet ze als streaming texture definiëren (maar dan kan je nog steeds niet blitten), maar waarom kon dit in SDL 1.2 dan wel?

Tevens; als ik in SDL 2.0 met textures zou gaan werken in een 2D-omgeving, hoe kan ik dit dan het beste aanpakken? Alle sprites en dergelijke als textures laden en die rechtstreeks kopiëren naar het scherm of toch eerst paneeltjes van losse venstertjes in surfaces en die vervolgens converteren naar een texture en die kopieren? Dat eerste doe ik liever niet, want het is een stuk simpeler als je je losse elementen kan opbouwen in losse surfaces en die vervolgens op de goede plek op het scherm gooien (met name met versleepbare vensters enzo). Als ik dat doe kan ik toch net zo goed gewoon volledig in software renderen, of begrijp ik dat verkeerd?

  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
Wat versta je onder het feit dat ze "statisch" moeten zijn? En wat is het probleem daarbij?

Kan je met je hardware surface bijv. geen source rectangle meer opgeven om telkens andere segmenten van de texture te laden? Of doel je op andere zaken?

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Topicstarter
Ben er al uit denk ik, ik zat een beetje vastgeroest in dialogjes opbouwen in surfaces en die vervolgens op de screensurface blitten.. Die kan je natuurlijk (met wat coordinate transformations) net zo goed direct op het scherm opbouwen 8)7 Dan maken static textures ook weinig meer uit want ik hoef niet steeds in m'n programma nieuwe textures/surfaces te bouwen.
Textures kopiëren met source rectangle kan idd dus kan ook zo m'n sprites eruit vissen.

[ Voor 9% gewijzigd door Radiant op 03-06-2013 19:32 ]