2D-View von Mapeditor, wie am besten???
-
Wie macht man am besten die 2D-Ansichten eines Mapeditors? Als 3D-Ansicht im Wireframemodus, dann sieht man aber auch unötige Dreiecke und Linien, und verliert schnell die Übersicht, ausserdem weiß ich nicht wie ich einstelle das er es dann nicht Perspektivisch anzeigt. Oder ich Zeichne alle Linien "per Hand", was aber glaub ich recht aufwendig und wahrscheinlich auch langsam ist, oder?
Wür Vorschläge wär ich dankbar.
-
Original erstellt von ichbinder:
Als 3D-Ansicht im Wireframemodus, dann sieht man aber auch unötige Dreiecke und Linien, und verliert schnell die ÜbersichtDie muss man auch sehen, sonst kann man überhaupt nicht gescheit arbeiten. Am besten du implementiert sogenannte visibility groups, so das man eine Gruppe der primitives einfach ausblenden kann.
-
Wenn ich aber zum Beispiel einen Quader in der 2D-Ansicht darstelle da sieht das so aus:
+---+
| /|
| / |
|/ |
+---+die diagonale ist für den benutzer aber eigentlich unwichtig, und könnte deshalb weggelassen werden, soll ja schliesslich kein Renderprogramm werden.
Natürlich könnte ich den Quader mit Quads machen, dann entfiehle die Diagonale aber ich hab immer so das Gefühl das die meisten Spiele nur mit Dreiecken gemacht werden und Quads langsamer sind, oder täusch ich mich.
Zudem is da noch ds Problem mit der Perspektivischen Verzerrung, die ich ja auch nich haben will.
-
Ich glaub was Du meinst ist orthogonale Projektion. Schau mal da:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndir3d/html/d3dxfrm6.aspDie 2. Matrix von oben ist eine orthogonale. Musst nur noch die richtigen Werte einsetzen und die Projektionsmatrix mit der neuen ersetzen.
-
Original erstellt von ichbinder:
**Wenn ich aber zum Beispiel einen Quader in der 2D-Ansicht darstelle da sieht das so aus:+---+
| /|
| / |
|/ |
+---+die diagonale ist für den benutzer aber eigentlich unwichtig, und könnte deshalb weggelassen werden, soll ja schliesslich kein Renderprogramm werden.
Natürlich könnte ich den Quader mit Quads machen, dann entfiehle die Diagonale aber ich hab immer so das Gefühl das die meisten Spiele nur mit Dreiecken gemacht werden und Quads langsamer sind, oder täusch ich mich.
Zudem is da noch ds Problem mit der Perspektivischen Verzerrung, die ich ja auch nich haben will.**
Im Editor speicherst du aber normalerweise keine einzelnen Dreiecke ab. Sonst müsste man, um eine Wand zu verschieben, jedes Dreieck selektieren. Normalerweise gibt es in 3D-MapEditoren nur einen ganzen Quader (bzw. Zylinder, Prisma, oder was es sonst für 3D-Primitives geben soll).
Bye, TGGC
-
@tggc: Jo, aber trotzdem bestehen die Objekte immernoch aus dreiecken, die von opengl automatisch mitgerendert werden, und so sieht man dann auch die diagonalen, die aber eben völlig uninteressant sind. Deshalb bräucht ich ne Variante in der diese nicht zu sehen sind.
Das "tut" von 0x0001 bringt mir glaub ich nichts, da sie für D3D ist. Ich aber in OpenGL progge, was ich aber vergessen habe zu erwähnen. Meine Schuld also.
-
Original erstellt von ichbinder:
**@tggc: Jo, aber trotzdem bestehen die Objekte immernoch aus dreiecken, die von opengl automatisch mitgerendert werden, und so sieht man dann auch die diagonalen, die aber eben völlig uninteressant sind. Deshalb bräucht ich ne Variante in der diese nicht zu sehen sind.Das "tut" von 0x0001 bringt mir glaub ich nichts, da sie für D3D ist. Ich aber in OpenGL progge, was ich aber vergessen habe zu erwähnen. Meine Schuld also.**
Achso, ich dachte du benutzt Linelists/strips, wo man ja für jeden VB angibt, welche Vertizen verbunden werden sollen. Um so eine Routine wirst du dann wohl nicht drumrumkommen. Dürfte aber nicht so schwer sein, da es sich halt direkt aus den Objekte ergibt.
-
Gut dann werd ich halt diese Variante nehmen, hat opengl extra line-befehle?
-
Ja, du kannst die Liniendicke setzen. Ansonsten werden Linien aber wie "normale" Triangles behandelt
-
jo