Opengl, Problem beim Texturieren



  • Hallo,

    Ich möchte eine Kugel mit einer Art Schach-Textur versehen. Allerdings wird die Textur, auf meiner Kugel irgendwie anders dargestellt, sieht nun eher aus wie eine Zebra Textur.

    Screenshot

    Hier ein auszug aus meinem Quellcode

    /* Kugeleinstellungen */
    #define RADIUS 0.3
    #define SLICES 24
    #define STACKS 24
    
    #define checkImageWidth 128
    #define checkImageHeight 128
    
    static GLubyte checkImage[checkImageHeight][checkImageWidth][4];
    
    void createLists() {
    
    	GLUquadricObj *obj;
    
    	GLfloat gruen[]={0.0,1.0,0.0,1.0};
    
    	/* Texturen */
    	glNewList(TEX1,GL_COMPILE);
    		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, checkImageWidth,
     					checkImageHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkImage);
    	glEndList();
    
    	/* Grüne Kugel */
    	obj=gluNewQuadric();
    
    	glNewList(GRUENEKUGEL,GL_COMPILE);
    		glDisable(GL_TEXTURE_2D);
    		glColor3fv(gruen);
    		gluQuadricDrawStyle(obj,GLU_FILL);
    		gluSphere(obj,RADIUS,SLICES,STACKS);
    
    	glEndList();
    
    	/* Kugel, mit Schachtextur */
    	obj=gluNewQuadric();
    
    	glNewList(BLAUEKUGEL,GL_COMPILE);
    		glEnable(GL_TEXTURE_2D);
    		glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
    		glCallList(TEX1);
    		gluQuadricDrawStyle(obj,GLU_FILL);
    		gluSphere(obj,RADIUS,SLICES,STACKS);
    
    	glEndList();
    
    	gluDeleteQuadric(obj);
    }
    


  • Ich habe das Problem bisher nicht lösen können. Hier ein Bild, wo ich versucht habe ein BMP zu laden und die 2. Kugel damit zu texturieren , mit dem selben Problem.

    http://img186.imageshack.us/img186/6415/bildschirmfoto2ec3.jpg



  • gluQuadricTexture(obj, true);



  • Vielen Dank, das hat mir geholfen und das Problem gelöst 😉


Anmelden zum Antworten