Registriert: Mi Jan 05, 2011 14:55 Beiträge: 47
Programmiersprache: Delphi, C++,C
Hi ich hab mein nächstes Problem. Und zwar hab ich das selektionstutorial durchgearbeitet, da ich versuche das bomberman tutorial komplett zu verstehen. Das problem ist nur, dass wenn ich einen wert auslese eimal nur quatsch rauskommt, da der wert meistens über 100000 liegt aber ich nur zahlen bis 10006 vergeben habe. Des weiteren hängt danach mein Programm und es reagiert nicht mehr auf eigaben. Das Tutorial, den Artikel und die checkliste hab ich mir alles durchgelesen und trotzdem kommt nichts vernünfiges dabei raus. Die Funktion zur selektion hab ich lecht verändert aus dem Artikel dazu übernommen.
Code:
function TForm1.Selection : integer; var Puffer : array[0..512] of GLUInt; Viewport : TGLVectori4; Treffer,i : Integer; Z_Wert : GLUInt; Getroffen : GLUInt; begin glGetIntegerv(GL_VIEWPORT, @viewport); glSelectBuffer(512, @Puffer); glRenderMode(GL_SELECT);
if treffer > 0 then begin Getroffen := High(GLUInt); Z_Wert := High(GLUInt); for i := 0 to Treffer-1 do if Puffer[(i*4)+1] < Z_Wert then begin getroffen := Puffer[(i*4)+3]; Z_Wert := Puffer[(i*4)+1]; end;
Das Problem hatte ich auch mal, ich weiß aber nicht mehr wie ich es gelöst habe, da mich die Selektion noch nicht so interessiert hat (zumal ja von der OpenGL Selektion abgeraten wird).
Sonst kann ich dir eigentlich auch nicht so wirklich weiterhelfen. Höhstens noch den Tip die Parameter bei gluPickMatrix(XS, Viewport[3] - YS, 1.0, 1.0, Viewport); und gluPerspective(60, ClientWidth/ClientHeight, 1, 1000); zu überprüfen. Die sollte glaube ich nämlich nicht aus dem Tutorial herauskopiert werden. Wenn du beim Rendern andere Parameter für deine Perspektive wählst, dann solltest du es auch hier tun. Einfach rüberkopieren kannst du die nur, wenn du auch beim Rendern dieselben Parameter verwendest.
Registriert: Mi Jan 05, 2011 14:55 Beiträge: 47
Programmiersprache: Delphi, C++,C
Die info wegen der NVidia karten hab ich auch gelesen, aber ich dachte nicht, dass sich das Programm derwegen aufhängt. Ne die Werte kann ich ausschließen hab ich schon überprüft. Was gibt es denn sonnst noch für möglichkeiten?
Dort steht aber meines Wissens genügend Grundlageninformation drin, um das selbe auch ohne Shader zu realisieren. Könnte jemand mit Edit-Zugriff aufs Wiki vielleicht mal einen Absatz einbauen, dass OGL Selection nicht sonderlich zu empfehlen ist und man eher auf Colorpicking zurückgreifen sollte?
Registriert: Mi Jan 05, 2011 14:55 Beiträge: 47
Programmiersprache: Delphi, C++,C
Ok danke für die Antwort. Dann ist warscheinlich auch die sellekion schuld daran, das der Mapeditor von dem Bomberman Tutorial bei mir nicht flüssig läuft obwohl ich ne gtx 260 hab. Hatte mich schon gewundert. Am besten sollten auch mal in die Grundlagen-Tutorials ein Verweiß geschrieben werden.
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
ich kann auch nur zu colorpicking raten. meine alte selektion (die mich ebenfalls viele nerven gekostet hatte, bis sie überhaupt funktionierte) hat auf meinem laptop bei einer großen baugruppe geschlagene 22 sekunden gebraucht. (aufm desktop pc warens ca. 1-2 sekunden) Das lustige dabei ist, dass die framerate auf dem laptop in der regel höher ist (neuere hardware) - seit ich jetzt auf colorpicking umgebaut habe geht es quasi in echtzeit.
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.