![]() |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
Vielen Danke für diese überaus positive Rückmeldung :thumb:
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 ;-) |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
Win2000 ist kein Fehler, man muss nur auch unter Win2000 das DirectX auf nem neuen Stand haben, dann läuft das auch ;)
|
Re: Andorra 2D [Ver. 0.35, 04.03.08]
hello again! (schon wieder eine noob-Frage...)
suche gerade Docu zu TAdImageList (alle Methods, Properties,..) unter ![]() BTW: der AdBlur-link auf der "docs"-Seite zeigt auf einen nicht vorhandenen Forum-link. in den demos/tutorials fand ich natürlich einiges... ( ![]() 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 :stupid: , lou |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
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:
Ist ungetestet, sollte aber funktionieren...
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; PS: Achja, ich glaube das, was du wirklich suchst ist:
Delphi-Quellcode:
AdDraw.Options := AdDraw.Options + [doMipmaps];
|
Re: Andorra 2D [Ver. 0.35, 04.03.08]
boah.., danke für den superschnellen Support :-D 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 :oops: ) 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 |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
"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: ![]() ![]() |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
Liste der Anhänge anzeigen (Anzahl: 2)
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 |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
Sehr ruhig geworden hier ... wie ist denn der letzte Stand bei Andorra2D - ist die 0.4 in Sicht?
|
Re: Andorra 2D [Ver. 0.35, 04.03.08]
Würde mich auch interessieren... :hi:
mfg Looper |
Re: Andorra 2D [Ver. 0.35, 04.03.08]
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:
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.
[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] 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:46 Uhr. |
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-2025 by Thomas Breitkreuz