P9.1

Moderator: Game Technology

Tobias Stöckert
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 18. Apr 2015 15:35

P9.1

Beitrag von Tobias Stöckert » 17. Jan 2017 12:08

Hallo,
wir haben die SAT Tests für die Punkte A B und C implementiert aber irgendwie ist kein Unterschied des Verhaltens zu erkennen. Was genau sollte passieren wenn die Implementierung korrekt ist?

Freundliche Grüße
Tobias

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: P9.1

Beitrag von 0b101101101 » 18. Jan 2017 15:52

Kann es sein, dass das Projekt nicht neu kompiliert wird, wenn man nur die Collision.h ändert? Ich glaube das war bei mir der Fall. Nur wenn ich Exercise.cpp ändere, wird neu kompiliert. Ansonsten kommt:

Code: Alles auswählen

  make: „Exercise9“ ist bereits aktuell.

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: P9.1

Beitrag von FloM-KOM » 18. Jan 2017 16:05

Der Unterschied ist nicht allzu groß, die Kugel rollt mit weniger Sprüngen über Kanten wenn die Aufgabe richtig gelöst ist.

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: P9.1

Beitrag von 0b101101101 » 18. Jan 2017 16:12

Selbst wenn ich bei IntersectsWith(Triangle) unten return false oder return true hinschreibe, passiert irgendwie dasselbe. ... ?

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: P9.1

Beitrag von FloM-KOM » 18. Jan 2017 16:35

Da stimmt irgendwas nicht, ich würde darauf tippen daß der Compiler nicht neu kompiliert. Vielleicht mal ein kompletter Rebuild?

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: P9.1

Beitrag von 0b101101101 » 18. Jan 2017 17:59

Das hab ich auch schon bemerkt. Ich hab immer
"node Kore/make --compile; and fish -c "cd Deployment; ./Exercise10""
gemacht.

Um ein neu kompilieren zu erzwingen hab ich dann diesmal
"touch Sources/Exercise.cpp; node Kore/make --compile; and fish -c "cd Deployment; ./Exercise10"
gemacht. Trotzdem keine Änderung.

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: P9.1

Beitrag von FloM-KOM » 18. Jan 2017 18:38

Weshalb kommt denn eine Exercise10-Executable dabei raus?

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: P9.1

Beitrag von 0b101101101 » 18. Jan 2017 20:54

Ok, den Fehler hab ich zwar auch schonmal gemacht, aber diesmal habe ich 9 gemeint. ^^

RobDangerous
Moderator
Moderator
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: P9.1

Beitrag von RobDangerous » 18. Jan 2017 21:14

Bin mir nicht sicher, ob --compile eine Neukompilierung erzwingt. Lösch' einfach mal das build-Verzeichnis.

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: P9.1

Beitrag von 0b101101101 » 19. Jan 2017 01:50

Nein, --compile macht kein vollständigen build.
Wenn ich dagegen den build Ordner lösche ändert sich endlich was, aber schon beim nächsten Kompilieren sagt er wieder

Code: Alles auswählen

make: „Exercise9“ ist bereits aktuell.
Auch wenn ich ganz sicher die Datei Collision.h geändert habe. Werde also erstmal zwischen den Builds einfach den build Ordner löschen...

Ich würde also raten, dass die Datei Collision.h irgendwie nicht als abhängig oder relevant für das Kompilieren irgendwo eingetragen ist?
Bin mir aber auch nicht sicher wo das überhaupt eingestellt würde. Wahrscheinlich in korefile.js? Aber da steht ja, dass "Sources/**" zum Projekt gehören, dazu müsste ja auch Collision.h gehören...

RobDangerous
Moderator
Moderator
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: P9.1

Beitrag von RobDangerous » 19. Jan 2017 09:21

koremake trägt glaube ich .h-Dateien nicht ins makefile ein - also ein Linux/--compile-spezifisches Problem. Wird repariert.

0b101101101
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 179
Registriert: 15. Apr 2015 18:24

Re: P9.1

Beitrag von 0b101101101 » 20. Jan 2017 12:31

Wie ist das eigetnlich mit dem Dreick-Kugel-Kollision mit "B and C lie on the opposite side" gemeint - Habe ich das richtig verstanden, dass für eine Kollision nicht nur die Distanz kleiner als der Radius sein muss, sondern auch das Vorzeichen der Dot-Produkte gleich sein muss?

Antworten

Zurück zu „Game Technology“