AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2D [Ver. 0.4.5.1, 31.12.08]

Ein Thema von igel457 · begonnen am 24. Nov 2006 · letzter Beitrag vom 14. Sep 2011
Antwort Antwort
Seite 62 von 103   « Erste     1252606162 636472     Letzte »    
Benutzerbild von igel457
igel457
Registriert seit: 31. Aug 2005
Andorra 2D

Was ist Andorra 2D?
Nein, Andorra 2D hat nichts mit dem kleinen europäischen Staat "Andorra" zu tun. Wie das "2D" im Namen auch schon erraten lässt, handelt es sich um eine 2D Engine. Diese wird für Delphi und Lazarus (Freepascal) entwickelt und zwar um das bekannte und oft verwendete DelphiX abzulösen (was an DelphiX nicht so toll ist lest ihr am besten hier). Andorra 2D hat einen ähnlichen Aufbau wie DelphiX - das Spriteengineinterface ist sogar zu 99% das Gleiche.

Features
Was ist nun das Besondere an Andorra 2D?
- Hardwarebeschleunigung
- Verwendung von Plugins zur Grafikdarstellung wodurch OpenGL, DirectX oder sogar die GDI mit Andorra 2D verwendet werden können
- Integrierte und beschleunigte Spriteengine
- Integrierte Zoomfunktion in der Spriteengine
- Modularer aufbau von den Loadern für Texturformate, es können einfach eigene Hinzugefügt werden
- orthogonale und perspektivische Projektionsmatrix
- Integration von 3D-Modellen (die Loader sind noch nicht geschrieben)
- Schnelle Partikelsysteme
- Ausnutzung von Multi-Core CPUs
- Lichter
- Shadersupport (Cg und HLSL)
- Einfaches Surface-System
- Einfaches Scenenmanagement
- Videowiedergabe mit MPEG2 Support
- Verwendung von mehreren "Windowframeworks", wodurch Unabhängikeit von der VCL/LCL erreicht wird.
- Clipping/Splitscreens
- 2D Physikengine mit Newton
- Integriertes "Hardware Canvas"
- Mächtiges, voll Skinbares GUI-System
- Nicht überladen - man wird nicht zum benutzen bestimmter Features gezwungen (wie zum Beispiel Datenpackages, wie dies in anderen Engines der Fall ist)
- Opensource, entweder unter der CPL oder der GPL verwendbar
- Mächtiges Bundle von Editoren und Tools
- Deutsche Tutorials
- Viele Demos
- Und natürlich die Banalitäten, die man sich von einer 2D-Engine so wünscht: Rotation, Additives Zeichnen, Skalierung, BitBlt, Texturzugriffe et cetera

Da die Plugins nur um die Basisfunktionalitäten der Grafikschnittstellen Wrapen, könnte man die Plugins theoretisch für eine Hybrid 3D-Engine verwenden

Mehr Infos...
...sowie Tutorials und weitere Links...
gibt es auf der Website: http://andorra.sourceforge.net/
Dort findet ihr auch Demos, Tutorials und Screenshots...

Wenn ihr Fragen, Kritik oder Anregungen habt, dann könnt ihr diese entweder hier oder bei SourceForge posten.

Downloads:
Momentan gibt es die Version 0.4.5. Einen Überblick über alle Downloads gibt es hier.

Das Package mit allen Demos, Prerequisiten und Binaries gibt es in der neusten Version hier:
Andorra 2D All-In-One-Package 23MB

Tutorials:
Die Tutorials gibt es nicht nur auf der Website, sondern auch in der DP. Allerding möchte ich betonen, dass die Tutorials auf meiner Website aktueller sind. Ich kann meine eigenen Tutorials hier nämlich nicht mehr bearbeiten (@Daniel: dringend umändern!). Hier ist eine kleine Liste, wobei die Sterne die Schwierigkeit darstellen:
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngTutorial 1 - Installieren und Initialisieren
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngAndorra 2D über CVS aktualisieren
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngTutorial 2 - Das erste Bild
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngTutorial 3 - Die Spriteengine
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngPartikelsysteme
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngDer Canvas
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngDas GUI-System
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pnghttp://andorra.sourceforge.net/img/star2.pngAndorra 2D und Lazarus
http://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star.pnghttp://andorra.sourceforge.net/img/star2.pngÜber Windowframeworks

FAQ:
Eine Sammlung oft gefragter Fragen findet sich hier:
http://andorra.sourceforge.net/index.php?section=FAQ

Wichtig:
Falls ihr ein Programm mit Andorra 2D geschrieben habt/daran schreibt, dann wäre es schön wenn ihr mir Bescheid sagen könnt. Dann bekomme ich nämlich mal einen Überblick, wer die Bibliothek nun überhaupt verwendet und außerdem kann ich auf meiner Website Screenshots von eurem Projekt einfügen und auch auf eine eventuelle Website eures Projektes verlinken.

Über diesen Thread:
Bitte schreibt hier nur Wünsche oder Anregungen herein, die direkt mit der Engine zu tun haben. Wenn ihr eine Frage über die Anwendung in eurer Anwendung habt, dann macht am besten einen eigenen Thread im Multimedia-Teil auf, bei dem ihr "[Andorra 2D]" vor den Titel schreibt.

Danke für euer Interesse,
Andreas
Miniaturansicht angehängter Grafiken
imagelisteditor_692.png   physics2_202.png   extended_spriteengine_868.png   wormhunter_412.png  
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
 
Benutzerbild von igel457
igel457

 
FreePascal / Lazarus
 
#611
  Alt 25. Apr 2008, 16:06
Vielen Danke für diese überaus positive Rückmeldung

Wenn du einen Bugreport auf Sourceforge einstellen möchtest, dann schreibe das am besten auf Englisch. Die gemeldeten Bugs sollten vor allem Reproduzierbar sein - es wäre also ganz gut, ein kleines Beispielprogramm oder einen Codeauszug zu sehen, bei dem der Fehler auf jeden Fall auftritt.

Jetzt wo du das mit Windows 2000 sagst, mache ich mir wirklich Gedanken - meine Programme sind mit DirectX auch noch nie auf Win2000 gelaufen. Ich habe das aber immer auf fehlende 3D-Hardware geschoben.

An der Dokumentation arbeite ich gerade - die gibt es dann mit der nächsten Version.

Mit den Pfaden werde ich mir etwas überlegen.

Über die Rechtslage von Spenden für OpenSource/Freeware-Projekte in Deutschland bin ich mir leider nicht im klaren. Soweit ich weiß, wird das Projekt dann (wenn man Pech hat) als kommerziell angesehen. Daher sind Spenden zurzeit leider nicht möglich
Andreas
  Mit Zitat antworten Zitat
Progman

 
Delphi 10.1 Berlin Starter
 
#612
  Alt 26. Apr 2008, 08:47
Win2000 ist kein Fehler, man muss nur auch unter Win2000 das DirectX auf nem neuen Stand haben, dann läuft das auch
Karl-Heinz
  Mit Zitat antworten Zitat
lou_cyfer
 
#613
  Alt 2. Mai 2008, 10:19
hello again! (schon wieder eine noob-Frage...)

suche gerade Docu zu TAdImageList (alle Methods, Properties,..)

unter http://andorra.sourceforge.net/docs/ + SEARCH gibt's leider nichts
BTW: der AdBlur-link auf der "docs"-Seite zeigt auf einen nicht vorhandenen Forum-link.

in den demos/tutorials fand ich natürlich einiges... (tutorial)

hat TAdImageList noch mehr (methods,..) zu bieten??

Im speziellen suche ich gerade nach einer Möglichkeit, bei einer (starken) Image-Verkleinerung (Ziel-rect ist kleiner als Quell-Image),
einen (schnellen) "(Gaussian-)Blur" oder etwas ähnliches auszuführen. Damit das (verkleinerte) Image optisch nicht so "pixelig/franzig" aussieht.

any hints appreciated ,
lou
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

 
FreePascal / Lazarus
 
#614
  Alt 2. Mai 2008, 11:12
Die Dokumentation ist ziemlich inaktuell. Mit der nächsten Version wird sich das allerdings ändern. Mit folgendem Code kannst du ein Bild aus der Bilderliste "bluren":
Delphi-Quellcode:
uses
  AdBitmap, AdBitmapEffects;
var
  adbmp: TAdBitmap;
  adblur: TAdBitmapBlur;
begin
  adbmp := TAdBitmap.Create;
  adbmp.ReserveMemory(AdImageList[0].Width, AdImageList[0].Height);
  AdImageList[0].Texture.SaveToGraphic(adbmp);
  
  adblur := TAdBitmapBlur.Create;
  adblur.Radius := 5;//Stärke des Effekts
  
  adblur.AssignEffect(adbmp);

  adblur.Free;
   
  AdImageList[0].Texture.LoadFromGraphic(adbmp);
  adbmp.Free;
end;
Ist ungetestet, sollte aber funktionieren...

PS: Achja, ich glaube das, was du wirklich suchst ist:
AdDraw.Options := AdDraw.Options + [doMipmaps];
Andreas
  Mit Zitat antworten Zitat
lou_cyfer
 
#615
  Alt 2. Mai 2008, 12:32
boah.., danke für den superschnellen Support Herr Igel

Hab vergessen zu sagen, daß ich das dynamisch machen möchte. (die Zielgröße der Images variiert dynamisch).
Also grob: Ziel Rect ist "groß" => no blur, "klein" => blur.

Denke, Dein 2. Ansatz ist global. Scheidet höchstwahrscheinlich für mich aus. (was bewirkt [doMipmaps]?)

1. sollte irgendwie funktionieren.
Da der "assignEffect" das Image physikalisch verändert (?!), werde ich wohl meine Einzelimages aufdoppeln müssen (blur/no blur).

Einen blur o.Ä. der effektiv wie ein "alpha" (= als property) einsetzbar ist, wird es nicht geben, denke ich, oder?

noch eine blöde Frage (wenn Du nicht gleich antwortest, bin ich nicht böse )

Zeichnet man ein Image via ImageList.Draw(rect..) und rect ist kleiner das Quellimage, was macht die Engine in diesem Fall?
"Nearest Neighbor"? Oder etwas komplexeres? (was ich dann garantiert nicht verstehe...)



gleich mal testen...

thanks again,
lou
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

 
FreePascal / Lazarus
 
#616
  Alt 2. Mai 2008, 13:19
"DoMipmaps" ist der beste Weg:
Ist dieses Flag gesetzt, so werden beim laden der Textur mehrere, so genannte "Mipmaps" für die Textur berechnet. Bei "Mipmaps" handelt es sich um verkleinerte Versionen der Textur, die mit hoher Qualität gerendert wurden. Somit gibt es beim verkleinerten Zeichnen der Texturen keine "kantigen" Übergänge.
Zusätzlich solltest du noch "AdDraw.TextureFilter" von "atPoint" auf "atLinear" setzten.

Setzte "doMipMaps" und den Texturfilter, bevor du die Texturen/Bilder bei denen der Effekt auftritt lädst.

Siehe auch:
http://de.wikipedia.org/wiki/Mip_Mapping
http://wiki.delphigl.com/index.php/Mipmaps
Andreas
  Mit Zitat antworten Zitat
lou_cyfer
 
#617
  Alt 2. Mai 2008, 15:49
Vielen Dank, Meiser Igel

AdDraw.TextureFilter=doLinear hat schon mal sehr viel gebracht - siehe snapshot / Vergleich doLinear/doPoint.

DoMipmaps scheint keine (zusätzlichen) Auswirkungen zu haben.
Wahrscheinlich, da ich die Images dynamisch über einem Bitmap erzeuge (Texture.LoadFromGraphic(img.Picture.Bitmap)).

Auf jeden Fall, bin ich mit dem Ergebnis zufrieden

happy we,
lou
Miniaturansicht angehängter Grafiken
2008-05-02_154557_167.gif   2008-05-02_154228_123.gif  
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

 
Delphi XE2 Professional
 
#618
  Alt 5. Jun 2008, 14:47
Sehr ruhig geworden hier ... wie ist denn der letzte Stand bei Andorra2D - ist die 0.4 in Sicht?
Thomas
  Mit Zitat antworten Zitat
Looper

 
Delphi XE2 Professional
 
#619
  Alt 5. Jun 2008, 15:09
Würde mich auch interessieren...

mfg Looper
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

 
FreePascal / Lazarus
 
#620
  Alt 5. Jun 2008, 18:18
Hallo,

den aktuellen Entwicklungsstand könnt ihr natürlich (wie immer) im CVS Archiv verfolgen (auch wenn ich für die dortige Versoin keinerlei Support übernehme) - dort sieht man, dass der letzte Commit von gestern ist.

Bis ich Version 0.4 herausgebe, werden mindestens noch zwei, drei Wochen vergehen - ich muss da noch einiges Testen (besonders auch noch Lazarus und Linux) und endlich meine TODO-Liste mit den Support-Requests abarbeiten. Das OpenGL-Plugin muss ich zudem noch auf den stand des DirectX-Plugins bringen. Sonst bin ich eigentlich schon fast fertig.

Hier der aktuelle Stand aus der meiner Roadmap:
Code:
[b]Version 0.4[/b]
[i]Plugin side[/i]
- Add Point sprites [DONE]
- Textures as rendertarget [DONE]
- Stencil Buffer [DONE]
- Pixel counting [DONE]
- Add propery system [DONE]
- Rewrite light system [DONE]
- Add shader system [DONE]
- Cg-Shader [50%, DirectX only/ OpenGL missing]
- HLSL-Shader [0%]
- GLSL-Shader [0%]
- Make sure, Plugins run on older hardware
[i]Application side:[/i]
- Rewrite particle systems [DONE]
- Surface System [DONE]
- Stencil Buffer [DONE]
- Hardware collision detection [DONE]
- Add shader object [DONE]
- Make DisplayRect/SurfaceRect work properly [DONE]
- Rewrite log system [50%]
- Rewrite Setup Dialog [DONE]
- Add a few new GUI-Objects [DONE]
Jetzt ist man also in der Lage mit Andorra 2D Shader Programme zu verwenden (auch wenn das vermutlich keiner (außer ich selbst) braucht). Die benötigten Bibliotheken werden erst mit der ersten Verwendung geladen, wodurch keine zusätzlichen Abhängigkeiten entstehen.
Zudem hat man nun die Möglichkeit Objekte in eine eigene Textur als Surface zu Rendern, wodurch der letzte Nachteil gegenüber DelphiX aus dem Weg ist.
TAdSetupDlg läuft nun sowohl mit Lazarus als auch Delphi und parst dynamisch die Parameter des ausgewählten Plugins.
Die Szeneneinstellungen werden nun über ein eigenes "Scene" Objekt jedes einzelnen Surfaces gemacht.
Das Lichtsystem wurde aktualisiert, Meshs besitzen nun eine "Material" Eigenschaft, in der Materialeinstellungen getroffen werden können. TAdVCLComponentWindow Framework sollte nun auch ohne Problem unter Lazarus laufen.

Die Renderingsystem-Pluginschnittstelle habe ich aufgeräumt.

Zudem wird jetzt auch SDL als Windowframework unterstützt.

3_of_8 hat Erweiterungen für Andorra 2D geschrieben, mit denen direkt TGA-Dateien geladen werden können. Zudem hat er eine erweiterte TFileStream Klasse geschrieben, die Dateien direkt aus komprimierten (zur Zeit .tar.gz) Dateien laden kann.

Eine andere Geschichte ist die Dokumentation, die ich mit Version 0.4 endlich mal auf den Stand der Dinge bringen möchte, plus mindestens 11% Kommentaranteil im Code. Vorher wird es keine neue, offizielle Version geben.

Alles in allem wird sich für den Otto-Normal Andorra 2D Benutzer nicht viel ändern, weshalb auch die kleine Wartezeit noch zu verkraften sein wird.

Danach werde ich endlich mal mein 2D-Spiel (eine Art Worms, nur in Echtzeit) Crashpoint neu programmieren. Schließlich habe ich Andorra 2D nur dafür geschrieben. Das ist dann die Bewährungsprobe für meine Engine, alle Änderungen werden in die nächste Version 0.5 einfließen. Diese wird dann die erste Beta Version von Andorra 2D darstellen, was bedeutet, dass es keine elementaren Änderungen an der Bibliotheksschnittstelle mehr geben wird.

Andreas
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 62 von 103   « Erste     1252606162 636472     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz