Texture mit 320x240 oder größer?



  • Hallo,

    gibt es eine Möglichkeit auf eine Fläche eine Texture aufzutragen,
    die nicht die Proportion 2x2 und aufwärts hat?

    Zum Beispiel:
    320x240
    768x576

    Gruß und Dank



  • Bei Direct3d und meiner Grafikkarte ist es zumindest so, dass es nicht geht. Wenn man eine Textur lädt die nicht 2^n x 2^m ist wird sie auf die nächstgrößere gedehnt. Ich würde das dann vorher manuell machen um eine bessere Bildqualität zu bekommen. Ein 320x240 Bild würde ich beispielsweise in 512x256 speichern. (Natürlich muss man beim Zeichnen beachten dass die Textur später dann gestaucht wird)



  • Tja,

    gegoogelt hab ich und so ohne weiteres wahr da nichts brauchbares dabei.
    Mehr als: "Paß auf 2nx2m auf!" steht da nicht, nur das es schwierig ist es anders zu machen, aber nichts wies geht!

    Deshalb hier meine Frage ob jemand mir eine Info gibt.
    Ich will nur einen Tipp oder den Befehl oder einen Link, was auch immer!

    Dank und Gruß

    PS: Wo ist den TGGC hin?
    Doch nicht so einfach?


  • Mod

    es gibt einige neue grakas die andere non-power-of-two formate kennen, es gibt für oGL wohl auch schon extensions soweit ich weiß (oder ist es sogar schon im standard?).
    bei d3d hat man D3DPTEXTURECAPS_POW2, lies dir dazu die doku durch falls du d3d benutzt.

    rapso->greets();



  • Ich benutzt OpenGL, wegen Plattformunabhänigkeit.
    Gibt es also direkt von OpenGL nichts brauchbares?


  • Mod

    rapso schrieb:

    e...es gibt für oGL wohl auch schon extensions soweit ich weiß (oder ist es sogar schon im standard?)....



  • danke, das werd ich mal kräftig durchstöbern!



  • rapso schrieb:

    bei d3d hat man D3DPTEXTURECAPS_POW2, lies dir dazu die doku durch falls du d3d benutzt.

    rapso->greets();

    Du löscht meinen Post und sagst dann genau das gleiche?

    Bye, TGGC (Hast du's drauf?)


  • Mod

    TGGC schrieb:

    rapso schrieb:

    bei d3d hat man D3DPTEXTURECAPS_POW2, lies dir dazu die doku durch falls du d3d benutzt.

    rapso->greets();

    Du löscht meinen Post und sagst dann genau das gleiche?

    Bye, TGGC (Hast du's drauf?)

    dann hab ich eben gesagt: suche und du wirst irgendwann irgendwo etwas finden.

    du hast recht und ich meine ruhe.

    rapso->greets();



  • Hey, das is mein Spruch!

    Bye, TGGC (Hast du's drauf?)



  • Jetzt ist es nicht mehr deiner. 😃



  • Grafikkarten könnten Texturen mit der Poztenz 2 oder nur quadrtische Texturen verlangen.

    Für Potenz 2 könntest du 
    
    for(TexBreite=1; BildBreite>TexBreite;TexBreite<<=1);
      for(TexHöhe=1; BildHöhe>TexHöhe;TexHöhe<<=1);
    
    Für quadratische könntest du
    
    if(TexBreite > TexHöhe)
      TexHöhe = TexBreite;
    else
      TexBreite = TexHöhe;
    

    Wie unser Moderator schon sagt können moderne Grafikkarten mit allen möglichen Größen fertig werden.

    An sonsten empfehle ich dir Texturen gleich in der Größe 2,4,8,16 ect. zu erstellen.

    Am besten (schnellsten) kommen die Grafikkarten mit Texturen in der Größe 256x256 zu recht. Sollte man evt. auch noch berücksichtigen.

    cu.


Anmelden zum Antworten