(Software Renderer)Texture Minifcation/Magnification Problem



  • Hallo,
    ich bin dabei mir einen Software Renderer zu schreiben und bin beim Texture Mapping auf folgendes Problem gestoßen:
    Welche Filtermethode soll ich anwenden, wenn das Bild nicht in zwei Richtung vergrößert/verkleinert wird, sondern nur in eine (also in die eine Richtung verkleinert und in die andere vergößert werden müsste)?

    Pseudocode:

    float ratio[2]; //Seitenverhältnis Textur/Bildschirm
    
    if(ratio[X] == 1.0f and ratio[Y] == 1.0f)
    	/* Textur kann 1:1 übernommen werden */;
    else if(ratio[X] > 1.0f and ratio[Y] > 1.0f)
    	/* Textur muss vergrößert werden (Bilinear)*/;
    else if(ratio[X] < 1.0f and ratio[Y] < 1.0f)
    	/* Textur muss verkleinert werden (Trilinear)*/;
    else
         /* nicht eindeutig!?
            Was tun? */;
    

    Danke


  • Mod

    float ratio[2]; //Seitenverhältnis Textur/Bildschirm
    
    if(ratio[X] == 1.0f and ratio[Y] == 1.0f)
    	//dir ist klar dass ein == vergleich bei floats so ziemlich NIE true sein wird? ;);
    else
    if(min(ratio[X],ratio[Y]) > 1.0f)
    	/* Textur muss vergrößert werden (Bilinear)*/;
    else
    	/* Textur muss verkleinert werden (Trilinear)*/;
    

    bitte 🙂


Anmelden zum Antworten