Delphi-PRAXiS
Seite 19 von 36   « Erste     9171819 202129     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Shape Wars - Version 2.0.0 (https://www.delphipraxis.net/159339-shape-wars-version-2-0-0-a.html)

Culxxaw 15. Apr 2011 21:00

AW: Shape Wars - Version 1.0
 
Für Gegner, die aussehen als wären sie aus laserlicht ist bloom aber ein bisschen überdimensioniert (Wenn ich so an die Performance denke...:?).
Der Effekt an sich wäre natürlich cool, sollte aber auch durch Texturen zu erreichen sein. Einfach halbtransparent und dann nen Weichzeichner drüber hauen...

Edlmann 15. Apr 2011 21:09

AW: Shape Wars - Version 1.0
 
Zitat:

Zitat von Culxxaw (Beitrag 1095469)
Für Gegner, die aussehen als wären sie aus laserlicht ist bloom aber ein bisschen überdimensioniert (Wenn ich so an die Performance denke...:?).
Der Effekt an sich wäre natürlich cool, sollte aber auch durch Texturen zu erreichen sein. Einfach halbtransparent und dann nen Weichzeichner drüber hauen...

So ähnlich ist das eh schon, die leuchten ja jetzt schon ein wenig. Müsst man vielleicht einfach noch verstärken

Culxxaw 15. Apr 2011 21:15

AW: Shape Wars - Version 1.0
 
Also der animierte hintergrund ist irgendwie schon geil.:)
Wenn viel los ist ist es manchmal nen bisschen schwer zu erkennen was gerade passiert aber das hat auch einen gewissen reiz.

Kleiner Bug noch:
Wenn man im Spiel in der "ohne Musik"-Version auf "x" drückt gibt es ne fehlermeldung

Ansonsten auf jeden fall eine würdige Version 1.0:wink:

Edlmann 15. Apr 2011 21:21

AW: Shape Wars - Version 1.0
 
Das Spiel ist auch ohne Musik nicht das Spiel ;) werd ich aber noch fixxen

Aphton 15. Apr 2011 21:23

AW: Shape Wars - Version 1.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
Über Shader schluckt das ned viel Performance!

Im Anhang befindet sich eine Demo.
Per Mausklick und Herumschieben kann man das Model - das nicht meins ist; habs irgendwo aus dem Internet - rotieren. Je näher es zum Betrachter ist, desto heller/beleuchteter ist es. Per Pfeiltasten nach oben/unten lässt sich der Threshold Wert ändern. Per Enter kann man sich nun die einzelnen Renderpasses anschauen.

Zuerst wird normal gerendert (First Pass), anschließend wird alles geblurrt (Blurred Pass), dann wird gebloomt (helle Stellen werden noch heller, Dunkle - je nach Threshold - entfernt)(Selected-Parts Pass). Es wird nochmal geblurrt (Blurred Pass) und letzendlich wird die Postprocessed Texture über die Scene geblendet! (Bloomed Pass)

Edit:
Nun gut, der FPS Zähler hat anschließend 1/10 des ursprünglichen Wertes. Aber ich glaube, dass kommt daher, weil ich da soviele Renderpasses habe und ständig Texturen neu befülle. Das kann man bestimmt optimaler machen!

Edlmann 15. Apr 2011 21:25

AW: Shape Wars - Version 1.0
 
@Aphton: Super danke, werd ich mir mal anschauen ;)

[Edit]
Hättest du was dagegen den Quelltext auch zu veröffentlichen?
[/Edit]

BUG 16. Apr 2011 10:47

AW: Shape Wars - Version 1.0
 
Zitat:

Zitat von Aphton (Beitrag 1095397)
Dass die Partikel effizienter gezeichnet werden. Ich kanns mit Partikeln gar nicht spielen, deshalb schalte ich das immer ab!

Man kann eh höherscorig (:lol:) spielen, wenn man die Multiplier sieht. Mit DeathPartikelCount 10 bis 50 geht's ganz gut.

Edlmann 16. Apr 2011 14:30

AW: Shape Wars - Version 1.0
 
Mmh...so langsam regt mich Delphi echt auf ^^

Ich bin gerade dabei, eine im Quelltext implementierte Vektor-Font zu erstellen, damit das Flackern endlich verschwindet. Diese Funktioniert auch super, löst allerdings jedesmal, wenn ich an der Unit nix verändert habe (und auch manchmal wenn ich etwas verändert habe) eine Zugriffsverletzung aus, die ich absolut nicht nachvollziehen kann (vor allem da das ganze hin und wieder funktioniert). Ich hoffe dass mir jemand von euch helfen kann, denn ansonsten wird es bei der Textsuite mit dem Flackern bleiben, da ich schon mit dem Online-Highscore ähnliche Probleme hatte (habe dazu auch nen Thread hier in der DP gestartet, mir konnt niemand helfen), und mir eine zweite Unit wo dieser Fehler auftritt zu viel ist. Also hab ich mich entschlossen mal den Quelltext von meiner Vektorfont (teilweise) zu veröffentlichen, und schauen ob mir jemand von euch helfen kann.

Delphi-Quellcode:
unit VekFont;

interface

uses dglOpenGL, SysUtils, Dialogs;

type
  TLine = record
    x1, y1, x2, y2: Single;
  end;
  TSingleChar = record
    Length: Integer;
    Lines: array[0..6] of TLine;
  end;

procedure ResetAllLetters;
procedure SetupFont;
function SetUpLine(xx1, yy1, xx2, yy2: Single): TLine;
procedure RenderTextLine(Text: String; XPos, YPos, Size: Single);

var Letters: array[32..129] of TSingleChar;

implementation

procedure RenderTextLine(Text: String; XPos, YPos, Size: Single);
var x, i: Integer;
begin
 // Text := UpperCase(Text);
    glBegin(GL_LINES);
  for x := 0 to Length(Text) do
  with Letters[Ord(Text[x])] do
  begin
   for i := 0 to Length-1  do
   begin
     //Laut Compiler kommt hier die Exception her, funktioniert aber eig und ist Fehlerfrei in einer einzelnen Anwendung die nur die Font benutzt)
     glVertex2f(Lines[i].x1 * Size + XPos + Size * 5 * x, Lines[i].y1 * Size + YPos);
     glVertex2f(Lines[i].x2 * Size + XPos + Size * 5 * x, Lines[i].y2 * Size + YPos);
   end;
  end;      
    glEnd;
end;

procedure ResetAllLetters;
var
  x: Integer;
  y: Integer;
begin
  for x := Low(Letters) to High(Letters) do
  begin
    Letters[x].Length := -1;
    for y := 0 to Length(Letters[x].Lines) do
    begin
      with Letters[x].Lines[y] do
      begin
        x1 := 0;
        x2 := 0;
        y1 := 0;
        y2 := 0;
      end;
    end;
  end;
end;

function SetUpLine(xx1, yy1, xx2, yy2: Single): TLine;
begin
  with Result do
  begin
    x1 := xx1;
    y1 := yy1;
    x2 := xx2;
    y2 := yy2;
  end;
end;

procedure SetupFont;
begin
  ResetAllLetters;
  //Space
  Letters[32].Length := 0;
  // !
  with Letters[33] do begin Length := 2; Lines[0] := SetUpLine(2, 0, 2, 1); Lines[1] := SetUpLine(2, 2, 2, 6); end;
  // Hier werden halt alle Buchstaben deklariert, sind insgesamt etwa 100 Stück, alle Fehlerfrei soweit

  end;

initialization SetupFont;

end.
Ich hoffe mal dass da einer von euch was findet was so einen Fehler verursachen könnte.

mkinzler 16. Apr 2011 14:40

AW: Shape Wars - Version 1.0
 
Delphi-Quellcode:
for x := 0 to Length(Text)
do
muss
Delphi-Quellcode:
for x := 1 to Length(Text) do
heissen

Aphton 16. Apr 2011 14:51

AW: Shape Wars - Version 1.0
 
Und außerdem würde ich vorher noch prüfen, ob das Ord(Text[x]) im Wertebereich {32..129} liegt!
Delphi-Quellcode:
  with Letters[Ord(Text[x])] do
Aber da das performancetechnisch Probleme bereiten könnte, würde ich generell anfangs ein Checkup machen - dh. sicher gehen, dass alle Strings auch wirklich in dieser Menge enthalten sind!

Edit:
Der Quelltext ist vorhanden. Zumindest das Kernstück!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
Seite 19 von 36   « Erste     9171819 202129     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz