Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 22:17

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 54 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 16, 2004 01:01 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Mit Mipmapping sieht das doch schon ganz anders aus. Das die Physik Engine 1000 Objekte nicht verkraftet ist klar.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 13:29 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Gerade bei etwas komplexeren Spielen macht es Sinn eigene Klassen definieren zu können. IFPS kann das soweit ich weiß nicht. Vielleicht gibt's da eine Möglichkeit das irgendwie nachzubilden bzw. zu umgehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 14:55 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
IFPS kann mit Records umgehen, das ist zwar nicht ganz so schön, aber man kann beliebige Eigenschaften in diesen kapseln, und einen Satz Routinen schreiben, die mit diesen arbeiten.

Möglich (aber umständlich) wäre ausserdem über das "class" Schlüsselwort einen Präprozessor zu schreiben, der entsprechende Records (sogar mit Methoden) erstellt - dies ist allerdings meines Erachtens den Aufwand nicht wert, da das Klassensystem von BaseGraph und ODE für die meisten 3D-Anwendungen ausreichen sollte - und sehr komplexe Sachen würde ich in Delphi programmieren, da der Vorteil von BaseGraph Pascal (keine Einstiegshürde in die 3D Programmierung, kein Zusammensuchen und Initialisieren entsprechender Bibliotheken) sich dann ohnehin relativiert - zum OpenGL Programmieren lernen und für einfache Anwendungen sollte es hingegen praktisch sein.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 20:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Dein BGP macht sich mit jedem Release, und wenn du das richtig promoten tust, dann sollten sich so Tools wie GameMaker oder BliztBasic warm anziehen, denn BGP ist ja doch etwas ernsthafter und man hat mehr Möglichkeiten als z.B. bei nem GameMaker.
Evtl. wäre es auch noch ne gute Idee so einen generischen Konfigurationsdialog in die Basisroutinen von BGP aufzunehmen, den man dann im Quellcode aufrufen lassen kann, und wo dann der Nutzer die Möglichkeit hat Einstellungen wie z.B. Auflösung, Soundgerät, usw. vorzunehmen.

Aber dein AstroMine sieht bei mir leider nicht so aus wie es aussehen soll (siehe Anhang). Karte ist ne Radeon9700 mit Catalyst 4.3 und aktivem AA bzw. AF. Komischerweise sehe ich vom Text nur den einen Umlaut.

Edit : Habs grad auch noch auf ner Radeon9600 getestet, dort allerdings ohne AA und AF, und dort gehts, obwohls der selbe Treiber ist.

Edit2 : Bei mir klappts nach dem zweiten Start jetzt komischerweise doch.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 22:14 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Ich habe ohne AA und AF den gleichen Fehler. Nur das die Farbe der Blöcke eine andere ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 22:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Hmm, wie so etwas passieren kann ist mir schleierhaft - bei der Textausgabe sind sämtliche texturierten Quads eines Strings innerhalb eines glBegin glEnd Blocks, in dem garantiert keine Renderstates gewechselt oder glColor Kommandos aufgerufen werden. Es gibt hierbei ja auch nicht besonders viele Fehlerquellen...
Ich werde es jetzt einfach mal so hinnehmen, sollte sich so etwas allerdings reproduzieren lassen, wäre ich sehr an den Begleitumständen interessiert.

Der von dir angesprochene Konfigurationsdialog ist bereits in Planung :wink:, wird allerdings noch etwas dauern, da ich mir noch überlegen muss, wie ich ihn am geschicktesten skinbar mache (es wird dann in BGP selbst so eine Art Miniformulardesigner geben, in dem man die Elemente positionieren kann, ein Hintergrundbitmap vergibt und eventuell Teile des Formulars durchsichtig machen kann).

Da BGP einerseits Freeware ist (und bleiben wird, da im Fall von BaseGraph Pascal meine Arbeit großteils darin besteht bereits existierende Freeware Bibliotheken und Komponenten zur hoffentlich fruchtbringenden Symbiose zu bewegen :wink:), und andererseits ganz stark auf OpenSource Schnittstellen setzt, die auch in anderen Entwicklungsumgebungen eingesetzt werden können, hoffe ich doch, dass es sich positiv gegenüber den von dir angesprochenen Tools abheben kann.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 22:29 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
@Lars
hmm, dann scheint der Fehler doch reproduzierbar zu sein. Wenn du etwas Zeit hast: könntest du testen, ob er nur im ausführbaren Programm auftritt, oder auch, wenn du den Source aus BaseGraph Pascal startest (wahrscheinlich musst du dazu die neueste BGP Version runterladen).

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 22:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Also wirklich reproduzierbar ist er zumindest bei mir nicht. Hab das Spiel eben nochmal probiert, und da wars das gleiche Problem. Wieder raus, neu gestartet (2x) und das Problem war weg. Hab zwar im Hintergrund noch Delphi laufen und werkle an meinem Spiel, aber auch daran liegts nicht, da es da anscheinend keinen Zusammenhang gibt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 22:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Hmm, das Problem muss in ShowMessage liegen:

Code:
  1. (*
  2. Eine kleine Routine, um Text an einer bestimmten Position auszugeben
  3. *)
  4. procedure ShowMessage(X, Y: float; S: String);
  5. begin
  6.   glDisable(GL_LIGHTING);
  7.   glEnable(GL_BLEND);
  8.   glBlendFunc(GL_SRC_COLOR, GL_ONE);
  9.   glMatrixMode(GL_MODELVIEW);
  10.   glLoadIdentity;
  11.   glTranslatef(X,Y,-1);
  12.   glColor3f(1,1,1);
  13.   glBindTexture(GL_TEXTURE_2D, 0);
  14.   Write(S);
  15.   glEnable(GL_LIGHTING);
  16.   glDisable(GL_BLEND);
  17. end;
  18.  


Dabei fällt mir auf, dass das Kommando
glBindTexture(GL_TEXTURE_2D, 0);

überflüssig ist, bzw. wenn schon nach Write(S) kommen würde. Könntet ihr bitte mal testen, ob's danach zuverlässiger läuft? Ein weiterer Kandidat wäre noch, die Zeilen
Code:
  1.   glEnable(GL_BLEND);
  2.   glBlendFunc(GL_SRC_COLOR, GL_ONE);
  3.  

auszukommentieren - Write macht ja nichts anderes, als die Fonttextur zu binden und danach die Quads für die einzelnen Character auszugeben, was sowohl auf meiner Radeon 9000 als auch auf der GFFX zuverlässig klappt.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 23:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Sieht schlecht aus. Hab das Spiel jetzt einige Dutzend Male aus BGP heraus gestartet, mal Fenster, mal Vollbild, und konnte das Problem nicht reproduzieren.

Allerdings sind mir ein paar andere Sachen aufgefallen, als ich mir die Beispiele mal angesehen hab :
  • Probleme mit der OpenGL-Anzeige, nachdem eine Vollbildanwendung geladen wurde.
    Und zwar hab ich zuerst den Source von AstroMine in BGP geladen, und ausgeführt (Vollbild, 800x600). Danach hab ich mir die Beispiele ansehen wollen und hab glText geladen. Wenn ich dann die Anwendung starte gehts, gehe ich dann aber auf Pause, so verschwindet die OpenGL-Darstellung (Vorschau ist grau) und wenn ich dann wieder auf Play gehe, kommt es je nach Demo zu Darstellungsfehlern. Bei dem Textdemo ist dann aufeinmal die Transparenz weg (Texthintergrund ist schwarz) und bei der gluSphere-Demo werden die Transformationen wohl nicht mehr interpretiert, denn dort finde ich mich nach einem Play->Pause->Play mitten in der Kugel
  • Schutzverletzungen.
    Sobald ich versuche den Source von something_is_strange oder Sound1 zu laden, wird mir der Source angezeigt, aber sofort danach erscheint dann eine Schutzverletzung. Hab BGP mehrere Male neugestartet und konnte diese Verhalten auch reproduzieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 23:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Ich habe jetzt die das glBindTexture(GL_TEXTURE_2D, 0) Kommando umpositioniert und verwende einen anderen Blendmodus - vielleicht funktioniert diese Version zuverlässiger:
http://members.chello.at/martinscad/AstroMineTest.zip

Nachdem das Ganze auch mit den Mesa Treibern zwar ruckelig aber doch funktioniert, bin ich geneigt die "Schuld" den Radeon 9800 Treibern in die Schuhe zu schieben - nur ändert das natürlich nichts an der Tatsache, dass es auch mit diesen stabil laufen sollte.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 23:34 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Zu Punkt 1:
Stimmt - das Problem ist mir bekannt und liegt darin, dass OpenGL Matrizen und Renderstates beim Laden eines neuen Programms nicht zurückgesetzt werden - wenn sich nun ein Programm darauf verlässt, dass die OpenGL Standardeinstellungen aktiv sind, kommt es Verhaltensauffälligkeiten.
Selbstverständlich ist es die Aufgabe der IDE beim Laden eines Projektes die Standardeinstellungen wiederherzustellen, was demnächst auch implementiert wird.

Zu Punkt 2:
Das ist kein echter Bug - das Format von vorkompilierten Szenarien hat sich inzwischen mehrfach leicht geändert und BaseGraph Pascal führt (noch) keine Validierungen durch. Das kommt aber auf jeden Fall in die nächste Version hinein (zumindest eine Meldung, dass es sich um eine veraltete Datei handelt), da so etwas einen absolut unprofessionellen Eindruck macht.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 23:36 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Die neue Version läuft bei mir jetzt auf der Radeon 9800 pro ohne Probleme.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 02, 2004 23:47 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
@Lars
Gut - war zwar auch nur geraten, aber ich denke hier ist die Radeon verantwortlich zu machen, die manchmal eine bestimmte Reihenfolge im Senden von Renderstates verlangt (ist mir schon manchmal aufgefallen) - eigentlich hätte es vorher auch funktionieren müssen

@SoS
entschuldige, jetzt habe ich das von dir gepostete Vorgehen in Punkt #1 selbst nachvollzogen - das ist tatsächlich ein anderes Problem, das mit dem Wechsel in den Vollbildmodus zusammenhängt - sämtliche Fenster scheinen danach den Befehl zu bekommen, sich immer wieder neu zu zeichnen - das OpenGL Fenster macht das aber (beabsichtigterweise) nicht bei der WM_DISPLAY Nachricht, sondern nur auf Anforderung (was gut ist, sonst wäre dieses Verhalten eventuell gar nicht aufgefallen).
Dem muss ich nachgehen, es sieht mir wie ein Neuzeichnen Kommando aus, das nicht zurückliefert, dass es korrekt verarbeitet wurde und daher immer wieder gesendet wird.

[edit]
SoS, du hast ein scharfes Auge :wink: . Ich protokollierte zwar fleißig mit, ob in den Vollbildmodus gewechselt wurde, setzte das Flag aber nicht zurück, wenn der "normale" Modus wiederhergestellt wurde.
Breakpoints und Singlestep versuchen in BaseGraph Pascal intelligent zu sein, und setzen den Videomodus wenn benötigt zurück, weil sich in einer Auflösung von (sagen wir mal) 320x240 so schlecht debuggen lässt (wie man als OpenGL Programmierer in Delphi wahrscheinlich schon öfters die Erfahrung machen durfte).
Diese Routinen meinten nun, den Videomodus nach einer Vollbildanwendung immer wieder zurücksetzen zu müssen - mit eben dem Ergebnis (unter genau den von dir angegebenen Umständen), dass sämtliche Fenster immer wieder neu gezeichnet wurden.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 03, 2004 10:15 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Traue mich fast nicht es zu sagen, aber das Problem in AstroMine ist auch in der neuen Version (die EXE ist genau 1KByte kleiner, also nehme ich mal an das du nicht aus Versehen die alte hochgeladen hast) noch präsent. Bin grade eben erst dazu gekommen es zu testen, und während beim ersten Start alles korrekt war, gabs beim zweiten Start wieder das selbe Bild : Bis auf den Ü-Umlaut (was schon ein wenig komisch ist) wurden alle anderen Zeichen nur als rote Quads dargestellt.
Anscheinend ists jetzt sogar reproduzierbar (oder nur purer Zufall), denn bei jedem zweiten Start (habs jetzt ~10 mal nacheinander gestartet, ohne was anderes dazwischen) tritt dieser Fehler wieder auf.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 54 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]