Hallo zusammen,
ich möchte innerhalb meines Würfels ( 6 Quads) nun eine Kugel platzieren die sozusagen die Wände spiegelt.
Ich kann mich innerhalb des Würfels ein wenig bewegen und die Kugel sollte sich dementsprechend mit verändern.
Da ich keine vorgefertige Texturen für die Spiegelung verwende, habe ich mir diese selber zusammengestellt aus den unterschiedlichen Texturflächen des Würfels. Mit unten stehendem Source Code habe ich das soweit auch hingebracht.
Leider sind meine Texturen noch nicht richtig, diese kann ich aber noch entsprechenden anpassen.
Meine Probleme sind :
1.Es wirkt als wenn ich in die Kugel hineinschauen kann und innerhalb die Texture aufgetragen ist. Aber natürlich soll die Texture aussen auf die Kugel aufgetragen werden.
2. Ich möchte das sich die Kugel dreht, so wie sich z.b. eine Disco Kugel dreht aber die Spiegelung muss natürlich beibehalten werden. Ich verändere meine Position im Raum ja nicht.
3.Wie kann ich über diese Texture so ein Disco Schimmern erzeugen so das die Spiegelung ein wenig abgeschwächt wird ? Also das man im Prinzip eine Discokugel hat mit leichten bis mittleren Spiegelung der Wände.
EDIT:
4.Irgendwie sind die Texturen auch spiegelverkehrt aufgetragen, also oben ist unten, links ist rechts usw.
ich möchte innerhalb meines Würfels ( 6 Quads) nun eine Kugel platzieren die sozusagen die Wände spiegelt.
Ich kann mich innerhalb des Würfels ein wenig bewegen und die Kugel sollte sich dementsprechend mit verändern.
Da ich keine vorgefertige Texturen für die Spiegelung verwende, habe ich mir diese selber zusammengestellt aus den unterschiedlichen Texturflächen des Würfels. Mit unten stehendem Source Code habe ich das soweit auch hingebracht.
Leider sind meine Texturen noch nicht richtig, diese kann ich aber noch entsprechenden anpassen.
Meine Probleme sind :
1.Es wirkt als wenn ich in die Kugel hineinschauen kann und innerhalb die Texture aufgetragen ist. Aber natürlich soll die Texture aussen auf die Kugel aufgetragen werden.
2. Ich möchte das sich die Kugel dreht, so wie sich z.b. eine Disco Kugel dreht aber die Spiegelung muss natürlich beibehalten werden. Ich verändere meine Position im Raum ja nicht.
3.Wie kann ich über diese Texture so ein Disco Schimmern erzeugen so das die Spiegelung ein wenig abgeschwächt wird ? Also das man im Prinzip eine Discokugel hat mit leichten bis mittleren Spiegelung der Wände.
EDIT:
4.Irgendwie sind die Texturen auch spiegelverkehrt aufgetragen, also oben ist unten, links ist rechts usw.
Code:
gl.glPushMatrix();
gl.glEnable(GL_TEXTURE_CUBE_MAP);
gl.glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP);
gl.glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP);
gl.glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP);
gl.glEnable(GL_TEXTURE_GEN_S);
gl.glEnable(GL_TEXTURE_GEN_T);
gl.glEnable(GL_TEXTURE_GEN_R);
gl.glMatrixMode(GL_TEXTURE);
gl.glLoadIdentity();
gl.glRotated(180-alpha, 0, 1, 0);
gl.glScaled(-1, -1, -1);
gl.glMatrixMode(GL_MODELVIEW);
gl.glDisable(GL_LIGHTING);
gl.glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
gl.glColor3d(1, 1, 1);
glut.glutSolidSphere(2, 30, 30);
gl.glEnable(GL_LIGHTING);
gl.glMatrixMode(GL_TEXTURE);
gl.glLoadIdentity();
gl.glMatrixMode(GL_MODELVIEW);
gl.glLoadIdentity();
gl.glDisable(GL_TEXTURE_CUBE_MAP);
gl.glDisable(GL_TEXTURE_GEN_S);
gl.glDisable(GL_TEXTURE_GEN_T);
gl.glDisable(GL_TEXTURE_GEN_R);
Code:
// Laden der 6 Texturen für die Spiegelungen
Cubemap xobj = new Cubemap();
cubemap = xobj.loadFromStreams("data\\images\\bilder_","jpg",true);