Tja, da gibt es wieder x möglichkeiten. Hier ein paar meiner ideen:
- Ich hoffe, die gemotire befindet sich in einer einzigen display liste, nicht für jede Wand eine...
- Versuch andere Textur-größen. Keine Ahnung, ob das hilft...
- OK, du hast fogging, d.h. die maximale sichtweite beträgt, sagen wir mal, 50. Dann solltest du auch die far clipping plane auf ca. 55 setzen, damit nicht zu viel gerendert wird.
- Na ja, das mit dem drehen... verwendest du den PerformanceTimer oder GetTickcount oder so was, um die Dregeschwindigkeit konstant zu halten? falls ja, versuche es mal so oder so ähnlich:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var C, F: Int64; QueryPerformaceFrequency(F); {...} procedure RotateLeft; var B: Int64; begin B := C; QueryPerformaceCounter(C); glRotatef(2.5 * ((C - B) / F), 0, 1, 0); // 2.5 pro Sekunde end; |
Trick bei der sache: mit dem counter wird die geschwindikeit konstant gehalten. Wenn du den Counter 2 mal abfragen würdest, z.b. an anfang und am ende der prozedur, würde das ergebnis verfälscht (das Problem hatte ich auch mal...

).
Viel Glück!