Lichtquellen - Funktionen
Übersicht

![]() |
TheProgrammerBetreff: Lichtquellen - Funktionen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Mit den zwei Funktionen kann man Bilder mit einer (oder mehreren) Lichtquelle(n) zeichnen. UpdateLightImage(lightX%,lightY%,entf%,img,imgX%,imgY%,[frame%]) Mit UpdateLightImage zeichnet man den Lichtkegel, eines Images. Parameter: lightX% - gibt die X-Position des Lichtkegels an lightY% - gibt die Y_Position des Lichtkegels an entf% - gibt den Radius des Lichtkegels an img - gibt das Image an, welches gezeichnet werden soll imgX% - gibt die X-Position des images an [frame%] - gibt den Frame des Images an Diese Funktion liefert keinen Wert zurück. UpdateLightImageRect(lightX%,lightY%,entf%,img,imgX%,imgY%,x1%,y1%,x2%,y2%,[frame%]) Mit UpdateLightImageRect zeichnet man den Lichtkegel, eines Abschnittes eines Images. Parameter: lightX% - gibt die X-Position des Lichtkegels an lightY% - gibt die Y_Position des Lichtkegels an entf% - gibt den Radius des Lichtkegels an img - gibt das Image an, welches gezeichnet werden soll imgX% - gibt die X-Position des images an x1% - Anfangsposition (X) des Abschnittes y1% - Anfangsposition (Y) des Abschnittes x2% - Breite des Abschnittes y2% - Höhe des Abschnittes [frame%] - gibt den Frame des Images an Diese Funktion liefert keinen Wert zurück. PS: Ich habe die Grafikauflösung mit Absicht so schlecht gemacht, damit der Speed etwas hochgeschraubt wird. (muss noch verbessert werden) Download |
||
aktuelles Projekt: The last day of human being |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja. Der Bereich sieht nicht sonderlich gut aus (kein richtiger weicher Übergang), ausserdem ist es ziemlich langsam. Zum Optimieren schon alleine:
- LockBuffer - Die Entfernung zwischenspeichern (4mal Sqr ist böse) - Es ist seehr viel schneller, das Bild vorher zwischenzuspeichern (in eine Bank). - Anstatt /$100 solltest du besser Shr 8 schreiben usw. - Auch statt *$100 würde ich Shl 8 schreiben, sogar für *2 könntest du Shl 1 schreiben (allerdings glaube ich nicht, dass das sich bei der Geschwindigkeit bemerkbar machen würde) - Ich weiß nicht genau wieviel das macht, aber dauernd SetBuffer ist auch nicht gut... das ließe sich auch mit einer Bank beheben. - Wenn die Lichtgröße konstant ist, kannst du auch die eigentlichen Helligkeitswerte in einer Bank speichern. Damit ließe sich auch Sqr beseitigen. Die größte Speedbremse dürfte da wirklich ReadPixel sein, entsprechend wird eine Bank einiges an Speed bringen. Sqr ist auch sehr langsam. Du solltest da wirklich noch viel optimieren, bevor es benutzbar ist. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group