tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
0
ZUGRIFFE
437
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Hallo alle zusammen!

    Ich habe folgendes Problem:
    In einer OpenGL ES Anwendung möchte ich Bilder dynamisch anzeigen lassen. Dazu habe ich eine Liste von Bilden in einem Array (**char). Die Bilder haben nummern wie sie in dem Array stehen (Das erste Bild hat. z.B. die Nummer 0, das zweite die 1 usw.).
    Die Bilder werden nur geladen wenn sie gebraucht werden +1 und -1, d.h. wenn das erste Bild angezeigt wird, werden die Bilder n-1,0,1 angezeigt (n ist die Anzahl der Bilder).

    Nun habe ich einen Texturpuffer, welcher p=5 Texturen (Texturen sind Bilder, welche schon auf die Grafikkarte geladen wurden)halten kann. Wenn dieser voll ist, soll ein anderer Puffer (welcher nicht gerade angezeigt werden soll) überschrieben werden.

    Anfangs habe ich das ganz einfach mit Modulo gelöst.
    n%p, was soviel heisst wie ich nehme die Bildnummer % p (=5) und schon habe ich die nummer des Puffers in welcher die Textur gespeichert werden soll.

    Nun tritt bei dieser Lösung aber folgender Fall ein:

    Bei z.B. einer Bildanzahl von 16 und der Puffergröße von 5:
    Bilder die geladen werden müssen: 15,0,1

    Puffer auf welchen die Texturen gespeichert werden:
    15%5=0
    0%5=0
    1%5=1

    Daher kommt es das in diesem Fall zweimal der Puffer 0 beschrieben wird obwohl beide Texturen gerade angezeigt werden sollen.

    Der zweite darauf folgende Versuch den ich gemacht hatte ist, die Puffernummer immer zu inkrementieren, sobald dieser beschrieben worden ist.

    Das wiederrum führt dazu, das der Fall eintritt (und das sehr oft), das ein Puffer der gerade beschrieben wurde, einen anderen überschrieben hat, welcher im selben durchlauf noch gebraucht wird, was zur Folge hat das alle 3 Bilder erneut auf die Grafikkarte geladen werden müssen. Also ist dies auch keine Lösung.

    Kennt evtl. jemand eine Lösung für dieses Problem?


    [Edit:]
    Eine Notlösung die ich jetzt verwende:
    Ich schau ob die Anzahl der Bilder%p kleiner ist als 3. Wenn nicht, dann verwende ich p+1 (Der Puffer wird vergrößert).Damit umgehe ich ersteres Problem. Schön ist die Lösung aber nicht.
    Geändert von Unicate (05.08.11 um 10:05 Uhr)
     
    /* no comment */

Ähnliche Themen

  1. Spezieller Farbübergang?
    Von Pantalaimon im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 11.04.05, 16:44
  2. spezieller Hintergrund
    Von _L_ im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 06.06.04, 12:00
  3. Spezieller PHP Server
    Von Uffi im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.12.03, 18:30
  4. Spezieller Button in PS
    Von Brooklyn im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 22.04.02, 22:52
  5. spezieller Schatteneffekt
    Von Silence im Forum Photoshop
    Antworten: 1
    Letzter Beitrag: 03.11.01, 22:12