Programm hat Bugs auf anderen rechnern

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Boris1993

Betreff: Programm hat Bugs auf anderen rechnern

BeitragSo, Okt 28, 2012 2:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Community

Ich arbeite momentan an einem Programm, das mit 3D Simplex Noise generierte Daten in einem Octree Datentyp speichert. Der Octree wird dann ausgelesen und an den Positionen, wo seine "Äste" sind werden Würfel in ein VBO geschrieben. Man kann dann das Detaillevel switchen, wobei dann immer ein neuer VBO ersetllt wird mit größeren Würfeln bei geringem Detail und kleineren Würfeln bei hohem. Bei mir funktioniert das Programm einwandfrei. Ich habe es aber 2 Freunden geschickt bei denen komische bugs auftreten wenn sie den Detailgrad verändern. (Vertices sind an ganz falschen Positionen, flächen werden einfach schwarz oder farbig angezeigt, obwohl jede fläche normal weiß ist)
Ich hab schon viel rumprobiert, doch trotz all meiner Versuche treten die bugs bei meinen Freunden immer noch auf. Sie haben auch extra Open Gl treiber neu installiert und all sowas.

Ich wollte jetzt erstmal das Programm uploaden und euch bitten es mal auf euren Rechnern auszuprobieren.
Vielleicht kann sich ja einer denken woran es liegt, weil er den bug auchmal hatte.
Da ich keinen Anhaltspunkt habe, wo der fehler liegen könnte poste ich erstmal keinen Code und warte erstmal auf eure ergebnisse.

Das Level of Detail verändert man mit Pfeiltaste Hoch/Runter, die Kamera bewegt man mit WASD
mit X wechselt man zwischen wireframe und normalem Modus.

https://www.blitzforum.de/upload/file.php?id=12041

Danke schonmal im vorraus Wink
  • Zuletzt bearbeitet von Boris1993 am Mi, Okt 31, 2012 22:47, insgesamt einmal bearbeitet

BtbN

BeitragSo, Okt 28, 2012 4:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Keine Probleme festzustellen.

Nova

BeitragSo, Okt 28, 2012 7:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sehe nur weiße Klümpchen, die recht eckig sind. Der Wechsel zum höchsten Detailgrad dauert recht lange, aber das ist wohl verständlich.
Keine speziellen Probleme, wenn ich den Detailgrad verändere.

Ich persönlich würde empfehlen, dass du bei solchen Problemen einen Screenshot davon machst, wie es denn richtig aussehen sollte. Bei dem Programm kann man nämlich leicht denken, dass die Darstellung falsch ist, obwohl alles richtig ist. Wink
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit
 

Boris1993

BeitragSo, Okt 28, 2012 10:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok vielen dank. Ist alles richtig so Smile
Ein Screenshot befindet sich in der Galerie hab ich gestern nichtmehr dran gedacht.
https://www.blitzforum.de/gallery/1998/ hier allerdings mit normals. Die habe ich rausgenommen, da ich eine Idee hab für ein eigenes Lighting System und das mal ausprobieren will.
Hm dann wird es wohl doch an den PCs meiner Freunde liegen. Aber stören tut mich das trozdem noch

So sehen die bugs aus:
user posted image
 

#Reaper

Newsposter

BeitragSo, Okt 28, 2012 13:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube mein PC ist dafür zu alt.. Wink
Bei mir sieht man im Standard-Level gleich quasi gar nichts.. ^^° Nur ein paar zuckende (bunte) Linien bzw. Flächen oder Dreiecke, wenn man sich bewegt. Meistens aber zum Großteil nur schwarz. Erst bei Level 1 sehe ich einen weißen Würfel.. Wink Aber weiterhin einige farbige Linien bzw. Dreiecke / Flächen.
Grafikkarte.. siehe Signatur.. Laughing Very Happy Wink
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

DAK

BeitragSo, Okt 28, 2012 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Keine Probleme hier.
Gewinner der 6. und der 68. BlitzCodeCompo

Hakkai

BeitragSo, Okt 28, 2012 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
sieht cool aus, bei mir keine Fehler.
 

Boris1993

BeitragMo, Okt 29, 2012 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
danke Smile hab ein bisschen dran weitergearbeitet jetzt wird auch jedem voxel ein beleuchtungslevel zugewiesen und komplexeres simplex noise eingebaut zur verschönerung wer will kann es downloaden.
https://www.blitzforum.de/upload/file.php?id=12041
  • Zuletzt bearbeitet von Boris1993 am Fr, Nov 02, 2012 17:20, insgesamt einmal bearbeitet
 

PhillipK

BeitragMo, Okt 29, 2012 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht subba aus Smile Beneide dich um die schnelle generierung.. mein 3d perlin hat mit ähnlciher cube anzahl locker 10minuten gerechnet Sad

Die beleuchtung sieht komisch aus. Man kann keine klare richtung erkennen, woher das licht kommen soll, da nebeneinanderliegende flächen trotzdem unterschiedlich hell sind teilweise.

Und wegen einem muss ich dich schlagen: Mein pc hat hier grade 1200fps ausgespuckt. Nicht das ich da was gegen hätte, aber... Razz Du hast grade die lebensdauer meines pc's kürzer gemacht als nötig *hihi* WaitTimer() *grins* (und bloß kein flip 1! aber du scheint eh 0 drin zu haben Very Happy )
 

Boris1993

BeitragMi, Okt 31, 2012 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Smile Die schnelle generierung verdanke ich jemandem aus dem englischen Forum, der den Simplex Noise Algorithmus von C++ auf BMax umgeschrieben hat:
http://www.blitzbasic.com/code...?code=2935

Leider verstehe ich immer noch nicht wie Simplex Noise funktioniert. Ich würde gern mein eigenes schreiben Smile
Würds du mir raten mich zuerst mit Perlin auseinanderzusetzen, da es einfacher zu verstehen ist?

Die beleuchtung ist noch längst nicht ausgereift. Das war mein erster Testversuch eine schnelle Beleuchtung per Voxel zu realisieren. Sie funktioniert indem den Voxeln ein Lichtwert hinzuaddiert wird je nachdem welche Seiten nicht von einem Nachbarn verdeckt sind. Ich hab noch vor soetwas wie ambient Occulision reinzubringen. Die sache ist ich möcht immer gern meinen Code selbst entwickeln und finds auch schwer irgendwelche Algorithmen anderer zu verstehen. Wahrscheinlich wäre ich schon viel weiter wenn ich auch mal versuchen würde Sachen die es schon gibt nich immer neu zu erfinden ^^

Sry ich wusste gar nicht das es dem Pc schadet ohne Framebremse was auszuführen. dann tu ich mal schnell eine rein ^^
warum sollte man nur flip 0 verwenden?

Kennst du dich zufällig mit Voxel Raytraching mithilfe von Octrees aus? Das wär nämlich mein nächstes Ziel. Ihc hab nur keine Ahnung wie ich damit anfangen soll Laughing

Und meinst du, das bei meinem Programm der Speicherbedarf zu hoch ist? Momentan erstellt mein Octree Type für jeden Unterknoten eine neues Objekt. Ich hatte überlegt ob man Die Daten auch nur mit verschiedenen, oder am besten einem Array speichern kann aber es war mir dann doch erstmal zu anstrengend meinen ganzen Code zum zweiten mal umzuschreiben Very Happy
 

PhillipK

BeitragMo, Nov 05, 2012 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hui hui..
Nun kommen die richtig harten fragen, wie?
Leider habe ich mich mit dem meisten noch nie befasst Sad

Voxel Raytracing anhand von Octrees? Oh *betet* "Oh große Blitzforum cracks, wo seid ihr, in solchen schweren stunden der not?" (ich weiß auf die schnelle garnicht, was Octrees sind *hust* Ich kenne simple voxelmaps nur als 3d array block:TBlocks[][][] *hust* ?)

Nun, das Raytracen.. wofür brauchst du das genau? Idee eins wäre die beleuchtung.
Da ich momentan ebenfalls eine kleine Voxelmap darstellung baue (ein previwer für selbstgespeicherte teile aus minecraft *grins*), kann ich nur sagen: Grml, beleuchtung nervt mich.. Mein erster versuch sieht so aus, simpel die Vertexcolors anzupassen, je nachdem, welche kante gezeichnet wird.

Um das ganze mit lichtquellen zu nutzen, würde ich eher einen grundlichtwert (Sonne -> Nach unten) nutzen. in den situationen, wo ein licht eingefügt wird (Mincraft -> Torch), wirds dann doch eher die breitensuche durch passierbare blöcke. Mehr fällt mir dazu nicht ein *hihi*

Flip? Jop, frage beantwortet. Meine aussage war wohl doofer formuliert, aber der generelle gedanke sollte, durch den anderen Thread, klar sein. Ein Programm mit 1200 FPS rennen zu lassen bringt nichts weiter, wie probleme, falls man das programm auf diesen wert anpasst und er plötzlich nimmer stimmt *g*
Besser: Einen normalwert nutzen und durch gedrückthalten einer taste gucken, wieviel fps "ohne bremse" möglich sind (wenn man zb eine neue funktion eingebaut hat, welche rechenaufwändig ist? Der vergleich, 150 max möglich vs 1200 max möglich hilft dann doch auch ohne Funktions-aufrufs-dauer-print)

Speicherbedarf. Die frage ist eher, wieviel du vorhast.
Klar, es gibt immer möglichkeiten zur optimierung, aber 34-37mb die dein Testprogramm grade abwirft.. pff, damit mein windows stabil läuft, brauch ich weit mehr ram Smile
Solange es sich in einem Rahmen bewegt, das auch rechner von 2005 nicht direkt abschmieren, ist alles oaky Smile
 

Boris1993

BeitragMo, Nov 05, 2012 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal danke für die Antwort Smile
Also das mit dem Raytracing war iwie nur sonne fixe Idee^^ Ich hab mich ein bisschen damit befasst aber gemerkt das es doch noch zu schwer für mich ist. Ich hatte nämlich vor in Echtzeit zu Raytracen aber im grobpixeligen look. Da bekomme ich aber kaum Performance hin. Inspiriert dazu hat mich dieses Video: https://www.youtube.com/watch?v=km0DpZUgvbg

Zitat:
Mein erster versuch sieht so aus, simpel die Vertexcolors anzupassen, je nachdem, welche kante gezeichnet wird

Ich habs eig fast genauso gemacht. Zusätzlich hab ich noch die position des lights festgelegt und jenachdem welceh seite gezeichnet wurde den jeweiligen Light wert zugewiesen. Jetzt hab ich erstmal wieder opengl normals für die Beleuchtung drin. Mal gucken ob mir noch ne bessere Idee fürs Lighting kommt Smile

Mein Ziel ist es eine Voxelengine mit einer recht hohen Sichtweite zu entwickeln. Weit entfernte Berglandschaften sollen auch noch im Nebel Sichtbar sein und so Very Happy Meine Idee dazu war ein Octree für die Terrain Daten zu verwenden, damit ich weit entfernte Dinge in geringerem Detaillevel darstellen kann.
Ich ahb auch schon eine Idee den Speicherbedarf stark zu senken indem im Octree nur gespeichert wird, was an der Oberfläche liegt. Das ist einer der großen vorteile von Octrees. Der Speicherbedarf wird immer geringer, desto mehr leerer raum sich in zum Beispiel einem Chunk befindet und halt das mit dem level of detail ist sehr nützlich. Nur ist das Problem dabei, das das Programm dann nichtmehr weiß welche Würfelseiten gezeichnet werden sollen, da ja unter einer schicht boden alles leer ist. Weiß nich ob ich das jetzt verständlich ausgedrückt habe ^^

Lg Boris

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group