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

Aktuelle Zeit: Di Apr 23, 2024 22:17

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



Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: @Adventure-3D-Outdoor-Engine
BeitragVerfasst: Sa Apr 12, 2008 10:15 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hi Rüdiger,

Das Projekt klingt auf alle fälle interessant.
Mich würde interessieren, wie du die Fenster erzeugst. Verwendest du SDL oder die VCL? Wenn du die VCL verwendest, könntest du ernsthaft überlegen, ob du vielleicht zumindest für das Hauptprojekt (also nicht den Editor), SDL verwenden. Das würde dir die Portierung auf Linux und ähnliches erleichtern. Und Linux-Spiele erfreuen sich beliebtheit, in Windows gehen die meisten besseren nicht-kommerziellen Spiele einfach in der Masse unter.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 12, 2008 10:58 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Ich habe eine einfache Nachfahrenklasse von TClass abgeleitet - also VCL. Mit SDL habe ich mich noch nicht beschäftigt, kann ich mir aber mal angucken - ist ne gute Idee. Auf jeden Fall werde ich versuchen, im weiteren nicht Windows-spezifisch zu arbeiten.


Viele Grüße,

Rüdiger


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 12, 2008 11:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Rüdiger hat geschrieben:
Ich habe eine einfache Nachfahrenklasse von TClass abgeleitet - also VCL. Mit SDL habe ich mich noch nicht beschäftigt, kann ich mir aber mal angucken - ist ne gute Idee. Auf jeden Fall werde ich versuchen, im weiteren nicht Windows-spezifisch zu arbeiten.


TClass? Normalerweise leitet man doch von TObject ab, oder? Und TObject allein macht noch keine VCL. VCL beginnt erst ab ungefähr TComponent und TBitmap und so. TObject findet man in jeder Object Pascal Sprache (also auch FPC).

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 12, 2008 11:27 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Oh, verdammt. Hab ich nicht aufgepasst! Es muss TForm heißen - also wie gesagt es ist einfach gehalten. Wenn an meine Engine kein Fensterhandle übergeben wird, dann erschafft sie automatisch ein Standardfenster.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 01, 2008 19:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wegen dem Himmel solltest du mal über eine Skycube/Skydome-Technik nachdenken. Eine solche Ebene macht vom Aussehen her immer wenig sinn.

Du könntest dich auch, wenn du das noch weiter vertiefen willst, mit prozeduralen Wolkentexturen befassen, dazu gibt es unter den Links im Wiki sicher etwas.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 02, 2008 11:03 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Der Übergang ist schrecklich, ich weiß. Weiß nicht so recht, wie ich das verbessern kann. Aber ich bin mir nicht sicher, ob ich variable Wolken implementieren möchte. Ich weiß nicht, ob dann der "Gesamteindruck" stimmt. Schließlich wollte ich auch kein Licht/Bumpmapping verwenden. Sieht dann zwar alles sehr "altmodisch" aus, aber ist dann weniger Arbeit ;)

Achja, danke übrigens für dein mehrmaliges Feedback, Lord Horazont!


Viele Grüße,
Rüdiger


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 19, 2008 19:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Hey,

aus Interesse hab ich mir mal die Techdemo geladen.
Aber wenn ich versuche zu starten sehe ich nen schwarzen Bildschirm (links oben ein paar Debuginfos), einen weißen Punkt links und diese Meldung "OpenGL hat folgenden Fehler erzeugt: invalid operation". :|

Intel Q9300
4GB RAM
Geforce 8800GTS 512 @175.16
WinXP Home

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 19, 2008 21:16 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Hmm...
Das ist der OpenGL-Fehler Handler. OpenGL hat also irgendwo den Fehlercode erzeugt. Komisch, ich hab ne 8600 GTS, bekomm den Fehler aber nicht. Ich müsste mir mal ein besseres Bugtracking-System einfallen lassen.

Trotzdem danke für das Interesse, tut mir leid, dass es nicht funktioniert hat.

Viele Grüße,
Rüdiger


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 19, 2008 23:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Ich hab mir mal deinen Wassershader angeschaut. Ich glaube das Problem hängt mit meinem Treiber zusammen. Zumindest seit 175.16 scheint der GLSL-Compiler was durcheinander zu werfen, denn wenn ich mehr als 24 varying-Floats habe, beschwert er sich mit "Vertex attribute output count exceeds hardware limits.", obwohl laut Hardwareinfo 16 attribute floats und 60 varyings möglich sein sollten, und baut logischerweise kein Programm zusammen, was dann wohl zu dem Fehler führt.
Glücklicherweise lässt sich der Zugriff auf eine Texturmatrix bei dir in den Vertexshader verschieben und das Ergebnis wahlweise mit einem varying vec2 oder gl_TexCoord[2] übertragen (afaik haben alle GLSL-Karten min. 4 TUs). Damit ließ sich die Sache dann auch starten.

So sieht es als Grundlage ganz gut aus, wenn man bedenkt, was schon alles dahintersteckt. Ich hab mit Blick in den Himmel so etwa 40fps. Der sieht natürlich auch noch nicht umwerfend aus, aber da geht bestimmt noch was. Den Regeneffekt find ich interessant, wie hast du den realisiert?

Die Vegetation und das Haus sehen in dieser Form noch reichlich seltsam aus (und kontraststark), aber wenn man komplexere Levels mit richtigen Models zusammenbastelt, wird das sicher auch noch besser aussehen.
Und nette Idee, der Tag-Nacht-Wechsel, wenn du jetzt natürlich noch was Leuchtendes im Level hättest... ;)

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 13:35 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich bekomme auch nach unregelmäßigen Zeiten nen invalid operation. Schade, ich hätte mir das gerne genauer angeschaut.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 13:40 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Dito.. ich kann es nichtmal starten..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 16:05 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Schade, dass es nicht so glatt läuft, wie ich dachte. Habt ihr ne Ahnung, wo ich mit der Suche nach dem Fehler anfangen könnte? Bei mir funktioniert es. Und invalid operation ist halt ein OpenGL-Fehler.


@Lord Horazont
Vielleicht könntest du dir den Wassershader mal anschauen. Der beruht auf deinem Tutorial. Vielleicht liegt der Fehler ja da, also die Quelle für diese "Inkompatibiltät".

@WhiteHunter

Merkwürdig finde ich die Performance bei dir. Ich habe minimal 60 Frames/s und wenn ich gen Himmel gucke, dann etwa 170 F/s. Vielleicht funktioniert aus irgendeinem Grund mein Multithreading bei dir nicht, wer weiß. Obwohl das schon merkwürdig wäre... Die Wolkentextur wird in einem eigenem Thread behandelt, weil das sehr rechenintensiv ist, Single-Core User werden glaub ich gar keine passablen Raten erwarten können - in dem Testlevel.

Den Himmel fand ich schon ganz gut, soll aber noch besser aussehen. Mit dem Regen bin ich eigentlich sehr unzufrieden^^. Das sind einfach nur zufallsgenerierte GL_LINES, die ein wenig transparent geblendet werden und mit konstanter Beschleunigung, also quadratische Ortsänderung nach unten fallen. Diese sind unabhängig von der Bewegung, sonst dünnt der Regen zu sehr aus, wenn man sich bewegt.
Das Wetter finde ich schön, wenn man von "weather bad" auf "weather good" umschaltet. Wenn sich dann der Himmel aufklart.
Vegetation und Models sehen wirklich scheiße aus, das liegt daran, dass das Model so furchtbar texturiert wurde. Und die Grastextur hab ich auch selbstgemacht^^ ziemlich blöd sieht die aus. Alphatesting benutze ich da übrigens, um die Z-Sortierung nicht machen zu müssen. Vielleicht ist da für die Zukunft ein "Verwisch"-Shader ganz gut, um die Kanten vielleicht nicht so hart wirklichen zu lassen.

Den Tag/Nachtwechsel sieht man übrigens mit "time fast". Allerdings sieht das nicht so gut aus, deswegen hatte ich es nicht erwähnt.


Viele Grüße,
Rüdiger


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 16:17 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Also, ein Invalid Operation tritt bei Shadern nur auf, wenn du z.B. versuchst, mit glUniform* oder glVertexAttribute* werte zu setzen, ohne dass der entsprechende Shader gebunden ist.

Ansonsten... Such mal im Wiki nach GL_INVALID_OPERATION, vielleihct findest du da was hilfreiches.

gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 19:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Lord Horazont hat geschrieben:
Also, ein Invalid Operation tritt bei Shadern nur auf, wenn du z.B. versuchst, mit glUniform* oder glVertexAttribute* werte zu setzen, ohne dass der entsprechende Shader gebunden ist.

dglwiki:[wiki]glUseProgram[/wiki] hat geschrieben:
GL_INVALID_OPERATION wird generiert wenn programObj nicht vom Typ GL_PROGRAM_OBJECT ist.
GL_INVALID_OPERATION wird generiert wenn das Programm nicht installiert werden konnte.

Versuch mal nen Program zu erzeugen und ohne es zu linken (oder von mir aus mit einem fehlerhaften Shader versuchen) glUseProgram() mit der ProgramID. ;)

Zitat:
Merkwürdig finde ich die Performance bei dir. Ich habe minimal 60 Frames/s und wenn ich gen Himmel gucke, dann etwa 170 F/s.

Hab mal V-Sync ausgeschaltet. Die 40 habe ich nur, wenn ich Landschaft und Himmel anschaue. Wenn ich nur innen Himmel gucke, habe ich auch ~200.

Zitat:
Das sind einfach nur zufallsgenerierte GL_LINES, die ein wenig transparent geblendet werden und mit konstanter Beschleunigung, also quadratische Ortsänderung nach unten fallen.

Wirkte gar nicht so. Aber dürfte immerhin sehr performancefreundlich sein.

Im Übrigen scheint die Engine sich nicht richtig zu beenden, wenn man statt Escape Alt+F4 drückt, zumindest die Maus wird nen bisschen blöd festgehalten.
Ich würde ein Log einbauen, das zeigt, was beim Initialisieren so schief gelaufen sein könnte. Da könntest du auch die Shaderlogs ausgeben lassen.
Ein bisschen Beispielcode von mir:
Code:
  1. function TglShaderManager.GetInfoLog(Handle: GLHandle): string;
  2. var
  3.   Len, Len2: Integer;
  4. begin
  5.   Result := '';
  6.   if glIsProgram(Handle) then
  7.   begin
  8.     glGetProgramiv(Handle, GL_INFO_LOG_LENGTH, @Len);
  9.     SetLength(Result, Len);
  10.     glGetProgramInfoLog(Handle, Len, Len2, @Result[1]);
  11.   end
  12.   else if glIsShader(Handle) then
  13.   begin
  14.     glGetShaderiv(Handle, GL_INFO_LOG_LENGTH, @Len);
  15.     SetLength(Result, Len);
  16.     glGetShaderInfoLog(Handle, Len, Len2, @Result[1]);
  17.   end;    
  18.  
  19. end;


Und noch viel Glück bei der Fehlersuche...

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 22:08 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wieso sind denn die Wolken so rechenintensiv. Die musst du doch nur einmal erzeugen und kannst die dann immer nur verschieben.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 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.204s | 17 Queries | GZIP : On ]