Registriert: Di Dez 13, 2011 19:14 Beiträge: 166 Wohnort: Hamburg / Mölln
Programmiersprache: D
Hallo, ich bin's mal wieder. Gerade versuche ich meine TileMap von eine reinen float array in ein Array aus structs umzustellen. Doch nach der Umstellung sehen die Tile Grafiken anders aus als vorher, irgendwie abgeschnitten in Triangle Form. Hier mal ein bild wie es vorher aussah:
Und wie es jetzt aussieht:
Ich kann mir das nicht erklären, weil im Grunde alles weiterhin klappt, nur einige werden abgeschnitten. Das macht momentan noch keinen Sinn für mich.
Also die Tile Grafiken werden wieder vollkommen angezeigt, nur Spiegelverkehrt.
Weiß jemand was da los ist? Beachte ich etwas nicht? Als Info kann ich sage, dass ich kein Offset beim glVertex oder glTexCoord Pointer angebe, da beides getrennte Buffer sind. Ich habe wirklich keine Ahnung was da schief läuft. Ich bin sicher, es wird nur ein kleiner, dummer Fehler sein.
Registriert: Sa Aug 18, 2007 18:47 Beiträge: 694 Wohnort: Köln
Programmiersprache: Java
Ok. Also sieht das ungefähr so aus? :
Dateianhang:
strip.png
Wenn ich deine Berechnung der Vertices richtig verstanden habe, werden die Triangle-Paare B und D garnicht gezeichnet sondern sind nur 0px breit? Richtig?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
_________________ Es werde Licht. glEnable(GL_LIGHTING); Und es ward Licht.
Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Registriert: Di Dez 13, 2011 19:14 Beiträge: 166 Wohnort: Hamburg / Mölln
Programmiersprache: D
Wieso sollten sie nicht gezeichnet werden? Ich sehe nicht, wo ich deren Berechnung vergessen habe. Oder sehe ich den Wald vor lauter Bäumen nicht? Und wieso funktionierte es denn dann vorher?
Registriert: Mi Nov 30, 2011 21:41 Beiträge: 136 Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Ich hab mir deinen Code jetzt zwar nicht explizit angeschaut du musst aber beachten, dass der Ursprungs-Punkt auf dem Bildschirm unten links, im Texturespace aber oben links ist. Wenn man das vergisst, dann sind die Texturen auf den Quads (TriangleStrip, was auch immer), genau wie bei dir, horizontal gespiegelt (Y-Achse ist falschrum).
Ansonsten weis ich auch nicht woran es liegen könnte. Es ist mir aber auch nicht ganz klar, was du alles geändert hast.
Registriert: Di Dez 13, 2011 19:14 Beiträge: 166 Wohnort: Hamburg / Mölln
Programmiersprache: D
Ich habe das Array lediglich von float[] auf vec2f[] bzw. vec3f[] umgestellt, womit die Koordinaten nicht mehr explizit hintereinander im Array liegen, sondern in den Strukturen, welche allerdings hintereinander im Array liegen.
Registriert: Di Dez 13, 2011 19:14 Beiträge: 166 Wohnort: Hamburg / Mölln
Programmiersprache: D
Ich glaube das war falscher Alarm. Scheint als hätte ich irgendwo einen Rundungsfehler im Script, mal sehen...
edit: Ja, definitiv. Aus irgendeinem Grund mochte er bei der Structg Variante den 0 float Vergleich nicht, also das != 0. Mit einem > 0 war das Problem dann auch schon behoben... Trotzdem recht merkwürdig. Aber danke und sorry das ich euch wegen eines so doofen Fehlers belästigt habe.
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.