Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.05.2017, 17:40

Bodentextur - kein Kacheleffekt

Hallo zusammen,

ich bin absoluter Neuling beim Spieleprogrammiergen bzw. mit DirectX und versuche mich grade an einfachen Themen.

Aktuell habe ich ein Problem mit einem Boden (welcher aus 2 Dreiecken besteht), dass die Textur, welche ich ihm zuweise,
nicht in beide Richtungen x und z gekachelt wird.

Die Dreicke und die Textur werden gezeichnet, aber wie schon gesagt, findet die Kacheleffekt nur in eine Richtung statt.
Ich würde aber eine "Kachelung" der Textur 100mal in x und 100mal in z Richtung erwarten. Wo könnte der Fehler liegen?
Hier mal die Zuweisung der Position und Textur (mache ich hier schon was falsch?)

m_FloorSquare.aVerticies[0].vPosition = tbVector3(-100.0f, -1.0f, -100.0f);
m_FloorSquare.aVerticies[1].vPosition = tbVector3(-100.0f, -1.0f, 100.0f);
m_FloorSquare.aVerticies[2].vPosition = tbVector3(100.0f, -1.0f, -100.0f);
m_FloorSquare.aVerticies[3].vPosition = tbVector3(100.0f, -1.0f, 100.0f);

m_FloorSquare.aVerticies[0].vTexture = tbVector2(0.0f, 100.0f);
m_FloorSquare.aVerticies[1].vTexture = tbVector2(0.0f, 0.0f);
m_FloorSquare.aVerticies[2].vTexture = tbVector2(100.0f, 100.0f);
m_FloorSquare.aVerticies[3].vTexture = tbVector2(100.0f, 0.0f);

Danke! :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

30.05.2017, 17:54

Ist die Textur an sich innerhalb der von dir angegeben 100x100 Pixeln denn überhaupt kachelbar?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

30.05.2017, 17:55

Zeig mal bitte einen Screenshot und auch die Textur.

ByteJunkie

Alter Hase

Beiträge: 891

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

4

30.05.2017, 17:57

Hey,

erst mal Hallo hier im Forum. So wie es aussieht benutzt Du die Tribase! Dann hast Du also Davids Buch. :love:

Da ist es eigentlich genau beschrieben, wie es funktioniert. Mit der Info aus Deinem Post kann ich nur wenig anfangen. Vielleicht könntest Du etwas mehr Code liefern?

Grüße

Ergänzung: Hi, hi, da war ich wohl etwas zu langsam. :D
Mach was Du nicht lassen kannst und lass was Du nicht machen kannst. ;)

5

30.05.2017, 20:14

Und ich ergänze noch: Bitte verwende die Funktion des Editors, um Code anzuzeigen (das Symbol oben, wo C++ draufsteht) und, nachdem es hier um die Tribase geht, bist du im falschen Unterforum.

Aber, einem Neuling kann man so etwas verzeihen.

Grüße
Patrick
Albert Einstein sagte: "2 Stunden mit einem netten Mädchen fühlen sich an wie 20 Minuten, 20 Minuten auf einem heißen Ofen fühlen sich an wie 2 Stunden. - Das ist Relativität"

6

31.05.2017, 20:40

Hallo,

hier ein Screenshot und auch die Textur selber.

Danke für den Hinweis. Weitere Posts mache ich dann in dem entsprechenden Forum für die Tribase.
»RandomNumber« hat folgende Bilder angehängt:
  • steinplatten.jpg
  • Bodentextur.jpg

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

31.05.2017, 20:50

Das sieht aus wie ein Texture-Filter Clamp to Edge. Keine Ahnung, wie man die in der TriBase ändern kann. Das kann dir bestimmt jemand anderes sagen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

01.06.2017, 12:59

Also in dem Code sehe ich nichts Falsches. Der Fehler muss an einer anderen Stelle liegen, zeig mal mehr! (dann bitte mit cpp-Tag)

9

01.06.2017, 14:24

Im Buch ist auf Seite 155 unter 2.6.5.1 erklärt, wie man DirctX "beibringt", dass in beide Richtungen gekachelt werden soll. Probier einmal, vor dem Rendern die Samplerstates "D3DSAMP_ADDRESSU" und "D3DSAMP_ADDRESSV" auf "D3DTADDRESS_WRAP" zu setzen. Es schaut nämlich so aus, als hättest du vergessen diesen Adressierungsmodus für eines der beiden Samplersates zu setzen.
Albert Einstein sagte: "2 Stunden mit einem netten Mädchen fühlen sich an wie 20 Minuten, 20 Minuten auf einem heißen Ofen fühlen sich an wie 2 Stunden. - Das ist Relativität"

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

01.06.2017, 14:29

“Vergessen“ reicht als Erklärung nicht, denn WRAP ist default. Er muss das schon aktiv geändert haben.

Werbeanzeige