Ja, momentan gehts recht gut voran, was sich auch auf die Zahl der Updates auswirkt :
Lange war mir die Umgebung der Schlachtfelder ein Dorn im Auge. Wer die Entwicklung von "Phase 2" verfolgt hat, dre wird gesehen haben das ich hier seit längerem die Schlachtfelder komplett mit Wasser umgeben, was aber weder sonderlich toll aussieht, noch (je nach Szenario) realistisch ist. In der Wüste macht dies z.B. keinen Sinn und sieht absolut doof aus. Lange hab ich hier rumprobiert und nach einer schönen Lösung gesucht. Die Tage hab ich mich dann hingesetzt und die Schlachtfelder mit echtem 3D-Terrain umgeben. Zwar nicht sonderlich detailliert, aber trotzdem wirkt es ganz ordentlich, wobei ich momentan noch an den Nebelparametern schraube :
Schaut man sich die Shots genau an, so sieht man dass die Schlachtfelder ebenenbündig zum Level des Terrains sind (eigens erstellte Heightmap, Terraintexturen mit meinem eigenen TerrTexGen), dies zu erreichen erfordert jedoch ein wenig Aufwand, denn es ist z.B. möglich Hexfelder unter Normalniveau abzusenken, z.B. für Wasserflächen. Also habe ich mal wieder Gebrauch vom Stencilbuffer gemacht um das zu erreichen.
Beim Erstellen des Schlachtfeldes erstelle ich eine simplifizierte Dispalyliste des Schlachtfelds für den Stencilbuffer, und rendere dies entsprechend in den Buffer :
Quellcode sieht so aus, dort wo die Liste in den Stencil kommt eine 1 schreiben, und Alphia, Tiefe und Farbpuffer unangetastet lassen :
Code: glDepthMask(False); glColorMask(False, False, False, False); glEnable(GL_STENCIL_TEST); glStencilFunc(GL_ALWAYS, 1, 1); glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); glCallList(HexBattleField.StencilListID);
Wenn ich nun das Terrain mit folgendem Stencilsetting rendere :
Code: glColorMask(True, True, True, True); glStencilFunc(GL_NOTEQUAL, 1, 1); glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); glEnable(GL_STENCIL_TEST); glDepthMask(True);
Dann wird es dort wo im Stencil die Hexfelder liegen ausgeschnitten, und ich kann mein Terrain direkt einbetten, ohne das irgendwo was vom Terrain durchscheint :
Auch wenn das Terrain etwas detaillierter sein könnte, sieht es jetzt schon viel atmosphärischer und v.a. realistischer aus als die einfach Wasserfläche die das Terrain vorher umgab.
|