![]() |
Re: DelphiX - Textur Engine
Mit OpenGL geht das einfach! Du gibst für jeden Punkt an wie Stark die Textur zu sehen sein soll, und dannach einfach Blending anschalten! Das sind wenig Befehle!
|
Re: DelphiX - Textur Engine
Liste der Anhänge anzeigen (Anzahl: 1)
Naja so einfach ist das nicht...
Wenn er einfach den alpha-wert der textur verändert dann scheint ja immernoch die viereckige Textur durch. Er bräuchte also (wie in moderenen Spielen auch) mehrere Layer an Texturen, sowie eine Alphamap (z.B. ein gezeichneter Weg) und müsste dann diese alle miteinander verrechnen. Hab mal angehängt wie ich das meine :) Ich glaube ich würde dir auch zu kleinen Bildchen raten, denn alles andere ist imho sehr kompliziert :| |
Re: DelphiX - Textur Engine
Zitat:
|
Re: DelphiX - Textur Engine
Zitat:
Momentan gehe ich mit meinem Hintergrund so vor:
Delphi-Quellcode:
Render wird nur aufgerufen, wenn sich der Hintergrund verändert. (Also scrollt).
procedure TBackgroundRenderer.Render;
var px,py:integer; begin px := trunc(engine.X) mod ftextures.Items[0].Width; py := trunc(engine.Y) mod ftextures.Items[0].height; with buffer.canvas do begin draw(px,py,texbuff); end; end; Textbuff ist ein TBitmap Buffer, der die Haupttectur enthält und etwas größer als der Bildschirm ist. Dieser wird dann in den Buffer geschriben. Gezeichnet wird das dann so:
Delphi-Quellcode:
Es wäre im Endefekt also kein Problem auf den "Buffer" das geblendete Bild jedesmal wenn ich das Bild verschiebe zu malen. Das ginge recht schnell. Nur wie rendere ich das mit dem Alpha am besten?
procedure TBackgroundRenderer.DoDraw;
begin with engine.surface.canvas do begin draw(0,0,buffer); release; end; end; |
Re: DelphiX - Textur Engine
Multitexturing (das, was hier anklingt) ist eine vergleichsweise komplizierte Sache, viel komplizierter als die Lösung mit vielen kleinen Tiles (Bildchen).
Du solltest erstmal deine Grafikdarstellung auf dieses System umstellen, indem du dein Spielfeld in ein 2D-Array aufteilst und in die einzelnen Rechtecke schöne bunte Bilder zeichnest. |
Re: DelphiX - Textur Engine
Zitat:
|
Re: DelphiX - Textur Engine
Zitat:
|
Re: DelphiX - Textur Engine
Also, wenn Multitexturing etwas kompliziertes ist, dann müßte ich übermässig genial sein (und viele andere auch) ;)
Sorry, aber das mußte ich einmal in den Raum werfen und dazu gleich noch einmal einen Link in unsere Wiki, bei dem evtl. auch die Verlinkungen unten auf das Detail-Map-Beispiel von Interesse sein könnte: ![]() //edit: Immerhin sehe ich es nicht alleine so. Man sollte zugegeben einige Tage für die Grundlagen investieren und dies werden im 3D-Bereich ein paar mehr als im 2D sein. Letztendlich umgeht man allerdings viele "dreckige" Tricks um die Grenzen des Systems zu umgehen. Zwar handelt es sich in dem gegebenen Fall um ein 2D-Beispiel, allerdings sollte den Fragesteller klar sein, dass jedes Alpha-Blending, dass er planmäßig durch seinen Kopf zuckend hat er einen Schritt in Richtung GPU-Verarbeitung und damit einen Schritt in Richtung OpenGL oder Direct3D macht. Relativ gute Ergebnisse (ich rede Technisch von 1998) im 2D-Bereich erzielte man jedoch auch durchaus mit zufällig positionierten Quads über einem Terrain, dass geblendet wird. 10-20 solcher Felder (je kleiner, desto besser) sollten durchaus auch ohne GPU möglich sein und immerhin ein wenig Abwechslung auf die Karte zaubern. Davon abgesehen sieht das Zielprojekt doch immerhin nach etwas vielversprechenden aus. Bleibe er seinem Projekt in jedem Falle treu ;) |
Re: DelphiX - Textur Engine
Leute, jetzt bleibt mal auf dem Boden. Der Threadersteller ist eindeutig noch Anfänger, und hat sich noch nicht in eine 3D-API eingearbeitet. Wenn hier jetzt vorgeschlagen wird, er solle Multitexturing benutzen, dann ist das tatsächlich eine "vergleichsweise komplizierte Sache" (mein Wortlaut), wenn er wohl schon genug Probleme haben wird, eine einfache Tile-Engine auf die Beine zu stellen.
|
Re: DelphiX - Textur Engine
Ich lasse das mit dem 3D ersteinmal, vieleicht später :gruebel:.
Ich hab noch eine Idee bekommen wie ich das machen könnte, mal ausprobieren. :gruebel: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 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