Pixelabfrageroutine schneller machen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Lord_Vader

Betreff: Pixelabfrageroutine schneller machen

BeitragSa, März 05, 2005 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich will ein 2D terrain machen, das NUR im boden ist, das bedeutet keine sachen, die in der luft schweben oder sonstiges, einfach ein TERRAIN. Nun hab ich das mit Types gelöst aber es dauert ewig so ein Terrain per zufall erstellen zu lassen. Hier ist der Code (nur die function)

http://www.blitz-pasting.de.vu...ode_id=651

Ich habe noch eine höhenbegrenzung vergessen, aber das spielt ja noch keine rolle (ausser er ist immer auf dem selben pixel, was es so langsam machen könnte xD)

Gibt es irgent einen weg, das schneller zu machen?

MfG Lord_Vader

stfighter01

BeitragSa, März 05, 2005 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
naja du könntest n dim array verwenden, das würde schon performance bringen.
im nachhinein kannst du das array ja in types übertragen.

grundsätzlich würd ich eher was an der art der berechnung ändern.
bei 100000*99999*99998... rechenschritten geht jeder pc in die knie *gg*

vielleicht abbruchbedingung wenn cnt < 0 ?
Denken hilft!

DivineDominion

BeitragSo, März 06, 2005 3:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe nicht ganz wie du ein Terrain in 2d erzeugen willst. Ok, also mit verschiedenen Schattierungen oder so, kann ich nachvollziehen, aber du erstellst einfach irgendwo (rand) Punkte... Was terrainisiert du da? Ich verstehe den Zweck nich und kann darum nicht viel aussagen, außer das es eben mit den ganzen Nullen nach der 1 und dem Foreach ziemlich duster is.
christian.tietze@gmail.com - https://christiantietze.de
macOS

Lord_Vader

BeitragSo, März 06, 2005 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
So nur nicht so grobpixelig:

http://www.atariage.com/develo...ming_4.png

DivineDominion

BeitragSo, März 06, 2005 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, keine Draufsicht sondern so ein Querschnitt!

Da würd ich dir eher empfehlen dir irgendwas auszudenken um die Linien zu malen.
Soll heißen, dass du dir Kurven und so für die Hügel per Zufall erstellen lässt (bei Worms kamen ja noch Sonderobjekte dazu etc) und das dann nur ausfüllst.
Das dann am besten in ein Image speichern, wenns nicht ZU groß ist, denn dann kannste die einzelnen Punkte auch gut löschen indem du mit der Maskcolor kreise reinzeichnest als Einschusslöcher etc.

Oder ist dein Spielziel was anderes?
christian.tietze@gmail.com - https://christiantietze.de
macOS

Lord_Vader

BeitragSo, März 06, 2005 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit den Kurven hab ich mir auch gedacht. Aber wie erstelle ich mit Zufall ne schöne Kurve, die nicht 10000 Zacken drinne hat?

Holzchopf

Meisterpacker

BeitragSo, März 06, 2005 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, auf Blitzbase gabs mal einen Quellcode, mit dem man Splines zeichnen konnte...

So, da ist er, ich glaube, das ist es, was du brauchst (oder brauchen kannst):
http://www.blitzbase.de/quellcode/bezierspline.bb

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

DivineDominion

BeitragSo, März 06, 2005 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Definierst Endpunkte und so ein Punkt an dem sich die Beule orientiert und dann bezier-st du sie Smile BLitzbase hat da glaub ich nen artikel zu. ODer bilineare interpolation.
christian.tietze@gmail.com - https://christiantietze.de
macOS

Lord_Vader

BeitragSo, März 06, 2005 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Na wenn das so ist, dann weiss ich schon wie! Thx for help!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group