PowerSDL ja SDLTTF

Saku-foorumi » Uusi sukupolvi: MorphOS » Ohjelmointi » Viestit 2006 » PowerSDL ja SDLTTF « Edellinen Seuraava »

Kirjoittaja Viesti
 

JPQ
Torstaina, 16. helmikuuta, 2006 - klo 3.23:   
Miten SDLTTF rendaa fontit moprhosissa ? entäs windowsissa ? entä
muualla eli meneekö käyttis rajapinnan rutiinein oletan ettei...
ja mitä fontteja .fon päätteiset.

 

Jon
Torstaina, 16. helmikuuta, 2006 - klo 19.59:   
SDL:ssähän ei tunnetusti fonttirutiineita ole, joten kaipa se SDL_ttf piirtelee SDL_Surfaceen.

 

itix
Torstaina, 16. helmikuuta, 2006 - klo 21.49:   
Vilkaisin sorsaa ja näyttäs että se varaa aina uuden surfacen. Eli:

/* Create a 32-bit ARGB surface and render the given glyph at high quality,
using alpha blending to dither the font with the given color.
The glyph is rendered without any padding or centering in the X
direction, and aligned normally in the Y direction.
This function returns the new surface, or NULL if there was an error.
*/
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Blended(TTF_Font *font,
Uint16 ch, SDL_Color fg);

(SDL_ttf.h)

 

Joanna
Torstaina, 16. helmikuuta, 2006 - klo 23.18:   
Öhm.. eli siis jokaista merkkiä kohti tulee uusi surface... No ei kai tuo ole niin vakavaa, eipä niitä merkkejä pelikäytössä taritse montaa olla että saa kaikki pakolliset tekstit tehtyä.

Tai jos ei miellytä, niin voihan ne tekstit kasata kuvatiedostoihin valmiiksi piirto-ohjelmalla ja blittailla ajonaikana isompina paloina kerrallaan.

Pitäisi itsekkin tutustua paremmin tuohon SDL:ään. on se (vapaan sanan puolella) mainitsemani Nokia 770 lainassa ja pitäisi saada jotain koekoodia tehtyä sille.

 

itix
Torstaina, 16. helmikuuta, 2006 - klo 23.34:   
Ideana lienee että merkit rendataan valmiiksi grafiikaksi ja niitä sitten blittaillaan peligrafiikkaan. Toisin sanoen jokainen kooderi tekee oman Text() enginen.

Mutta on siellä tekstifunktioitakin:

/* Create a 32-bit ARGB surface and render the given text at high quality,
using alpha blending to dither the font with the given color.
This function returns the new surface, or NULL if there was an error.
*/
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Blended(TTF_Font *font,
const char *text, SDL_Color fg);

En huomannut tuota ekalla vilkaisulla.

 

JPQ
Perjantaina, 17. helmikuuta, 2006 - klo 0.29:   
No tuo kuvatiedosto idea ja tämä ei toimi erään ideani kanssa
yhteen.:(
Sanotaan siltä vaikka näyttää samalta niin (ihan pikselilleen) niin se
ei ole sama asia.

 

Joanna
Perjantaina, 17. helmikuuta, 2006 - klo 0.54:   
Pikaisen testin perusteella noita blittejä mahtuu aika monta yhteen frameen. Olen katsonut mallia primitiiviseen SDL-koodaukseeni sellaisesta PDF-kirjasta kuin Programming Linux Games. ( löytyy ilmaiseksi imuroitavana ainakin semmoisesta kuin http://csx.calvin.edu/JSPWiki/attach?page=GameSIG%2FProgramming+Linux+Games.pdf )

screen = SDL_SetVideoMode(800, 480, 16, SDL_DOUBLEBUF | SDL_FULLSCREEN); (kuvan vaihto SDL_flip(); )

Tausta 800*480, liikutettava olio 87*100 pikselin bmp-kuva (läpinäkyvä taustaväri) 100kpl liikkeellä yhtäaikaa menee näemmä noin 30-framea sekunnissa (300 framen ajo kestää himpun yli 10 sekkaa).

 

itix
Perjantaina, 17. helmikuuta, 2006 - klo 0.54:   
Mitä yritit ajaa takaa?

 

itix
Perjantaina, 17. helmikuuta, 2006 - klo 0.57:   
Joanna: riippuu ajureista ym... alphablittaukset on hitaita ilman HW-kiihdytystä ja noin yleisesti ottaen SDL on nopeampi Windowsilla kuin Linuxilla.

 

Joanna
Perjantaina, 17. helmikuuta, 2006 - klo 1.02:   
Tuossa on vain yhden värin läpinäkyvyys (eli ei täyttä alpha-kanavaa) .. Ajolaitteena on Nokia 770, eli Arm+linux.

 

JPQ
Perjantaina, 17. helmikuuta, 2006 - klo 1.43:   
Ja sanotaan se mihin minä viittaan ei liity nopeuteen.

 

JPQ
Perjantaina, 17. helmikuuta, 2006 - klo 1.47:   
Joanna: linkkisi ei näytä täällä toimivan. Tämä toimii:
http://csx.calvin.edu/JSPWiki/attach?page=GameSIG%2FProgramming+Linux+Games.pdf
eli googlen hakutulos sopivin sanoin antoi ihan kait saman ja nyt se
suostuu sieltä tippumaan johan on outoa.

Lisää viestisi tähän
Viestisi:
Käyttäjätunnus: Postitus informaatiota:
Tämä on yksityinen keskustelupalsta. Vain rekisteröidyt käyttäjät ja moderaattorit voivat postittaa tänne.
Salasana:
valinnat: Aktivoi URL:t automaattisesti tässä viestissä
Toimenpide: