Aktuelle Zeit: 06.01.2025, 21:44

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Texturen skalieren und ausrichten
BeitragVerfasst: 11.11.2007, 20:50 
Offline

Registriert: 11.11.2007, 20:42
Beiträge: 3
Hallo,

ich knappere schon geraume Zeit an einem kleinen Problem mit den Texturen in Irrlicht.

Ich habe via addTerrainMesh() ein TerrainMesh in Irrlicht erzeugt und wollte dieses mit einer Textur belegen die exakt die selbe Größe hat wie das Terrain.
Das Terrain wird durch eine 8x8 Pixel große Heightmap ( ja, ziemlich klein, aber für meine Zwecke reicht es ) erstellt und mit einem modifikator von 64 in x und y richtung skaliert.

Mein Testtextur hat eine größe von 512 x 512px und soll exakt auf dieses Terrain drauf passen. Also die Kanten der Textur sollen bündig mit den Kanten des Terrains sein.

Mit den default werten passt das natürlich nicht. Die Textur überlabt das Terrain in alle 4 Richtungen um etwa 32px. Ich habe versucht das über setTextureScale() auszugleichen, aber es gelingt mir nicht mehr als eine ecke auszurichten.

Kennt jemand eine Lösung für dieses Problem? Eine Methode die Textur zu verschieben wäre wohl das Beste.

Nitram


Nach oben
 Profil  
 
BeitragVerfasst: 11.11.2007, 20:58 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Probier mal eine Textur mit 9*9 Pixeln. Schließlich hast du bei einem Terrain mit 8*8 Feldern jeweils 9 Kanten längs und quer.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 11.11.2007, 21:00 
Offline

Registriert: 11.11.2007, 20:42
Beiträge: 3
Getestet und funktioniert nicht. Das Terrain wird etwas größer aber die Textur zieht er einfach mit größer.


Nach oben
 Profil  
 
BeitragVerfasst: 12.11.2007, 18:56 
Offline

Registriert: 11.11.2007, 20:42
Beiträge: 3
Ich habe das Problem inzwischen lösen können.

Durch die Trial and Error Methode habe ich folgende Werte heraus bekommen:
Code:
   texturematrix.buildTextureTransform(
      0,
      core::vector2df(105.0164f, 104.929f),
      core::vector2df(0.0f, 0.0f),
      core::vector2df(1.142f, 1.142f)
   );


welche die Textur richtig ausrichten.

Nun entsteht aber ein neues Problem. In der Darstellung mit DirectX gibt es keine Probleme, aber wenn ich das Terrain mit OpenGL darstellen lasse, wird die Textur auf dem Terrain unscharf und flimmert wenn man die Kamera bewegt. Es sieht so aus als würden die Übergänge und der Unschärfeausgleich der durch die Zerrung der Textur entsteht Probleme in OpenGL machen. Gibt es eine Möglichkeit das zu umgehen?

Nitram


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de