Pick-Ersatz
Übersicht

![]() |
aMulSieger des Minimalist Compo 01/13Betreff: Pick-Ersatz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Guten Abend.
Wie manch einer vielleicht weiß, programmiere ich zurzeit einen kleinen Terrain-Editor. Ich benutze die Pick-Befehle um die Stelle zu finden, auf die die Maus zeigt um dort die Höhe des Terrains zu bearbeiten. Dabei wird das Terrain mithilfe der Vertex-Befehle in Echtzeit verändert. Das Problem hierbei ist, dass das nächste "Picken" nach einer Änderung des Meshes mit VertexCoords() bis zu einer halben Sekunde dauert. Das sorgt dafür, dass ich das Terrain nur mit extremen Ruckeln bearbeiten kann. Und deshalb suche ich nach einer Methode Camera/LinePick() zu zu ersetzen(am besten CameraPick()). Ich habe schon ein wenig rumprobiert, aber ich bin zu keiner Lösung gekommen. Es ist vielleicht ganz nützlich zu wissen, dass ich die Höhendaten in einer Bank gespeichert habe. Das auslesen von bestimmten Punkten ist also kein Problem. Ich hoffe, dass mir jemand helfen kann. Meinetwegen muss es nicht unbedingt ein ganzer Code sein. Ein paar Tipps/Vorschläge sind auch willkommen ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im blitzbasic.com-Codearchiv finden sich Routinen zum Pickersatz. Allerdings bin ich überzeugt, dass dein Hauptproblem hier nicht das Pick ist, sondern der Flaschenhals vielmehr bei deiner Routine zum Terrainupdaten liegt. Aktualisierst du möglicherweise das _ganze_ Meshterrain? | ||
MrKeks.net |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, daran liegts nicht. Wenn ich jeden Frame alle 16000 Vertexe zufällig verschiebe läuft es trotzdem flüssig.
Auf bb.com hätte ich echt selbst kommen sollen... ![]() Danke für den Hinweis! |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
haste eigentlich updatenormals drin? | ||
MrKeks.net |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, wenn ich mit reinnehme wird es aber weder merkbar langsamer noch schneller.
Mir ist allerdings gerade aufgefallen, dass das Ruckeln nahezu verschwindet, wenn ich die einzelnen Meshes kleiner mache(=weniger Vertexe)... Dann gibts aber wieder mehr Surfaces, was auch nicht unbedingt sein muss. Naja, ich schau jetzt erstmal auf bb.com. EDIT: Soooo. Ich habe gerade diesen Code(etwas weiter unten) gefunden, welcher einen Strahl auf Kollision mit einem Triangle prüft. Damit klappts super und schnell. Bei Terrains mit mehr als 50000 Triangles dauert es unter Umständen etwas länger, aber das lässt sich noch optimieren, außerdem ist es auch so immer noch schneller als Camera/LinePick(). Nochmal danke, Mr.Keks, für den Hinweis auf bb.com. Achja, wenn jemand noch einen besseren/anderen Vorschlag hat, darf er sich gerne melden(man weiß ja nie) ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
- Zuletzt bearbeitet von aMul am Sa, Jul 28, 2007 22:26, insgesamt einmal bearbeitet
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aufgrund eines neuen Problems, welches imho keinen eigenen Thread verdient, maße ich mir an einen Doppelpost zu erstellen.
Ich habe, wie bereits erwähnt eine Funktion gefunden, die Linepick ersetzt. Allerdings soll man in meinem Editor auch am Bildschirmrand - nicht nur in der Mitte - das Terrain verändern können. Dafür muss ich die Mauskoordinaten in Winkel umrechnen. Für den Pitch-Winkel kann man einen einfachen Arcustangens benutzen: Code: [AUSKLAPPEN] Pitch = ATan(Float(MouseY() - 300) / 400) ; für eine Auflösung von 800x600
Beim Yaw-Winkel bin ich allerdings ratlos. Ich vermute, dass er nicht nur von MouseX() sondern auch vom Yaw-Winkel(der Camera) abhängt... aber ich habe reichlich Probleme mir das räumlich vorzustellen... Ich würde mich freuen, wenn mir hierbei jemand helfen könnte, der sich mit Trigonometrie etwas besser auskennt als ich. Komplett andere Lösungsansätze sind natürlich auch erwünscht, solange sie funktionieren. |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich will mich weder beschweren noch betteln, aber ist hier wirklich niemand der mir helfen kann? Niemand, der schon mal ein ähnliches/das gleiche Problem hatte? Keine Idee? Niemand?
Ich bin nämlich immer noch nicht weiter... ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~GESCHLOSSEN~ Doppelposts sind schon unerwünscht. Triple Posts erst recht. Das hast du nun davon. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group