| |
|
|
| 4 Ebenen Parallax Scrollen mit vSync
Download: [...]
Das Demo habe ich auf Wunsch erstellt.
Die Anwendung benötig von OpenGL die Erlaubnis auf den VSync des Bildschirmes warten zu dürfen.
Ist diese Option nicht auf Anwendungsgesteuert gestellt dann wird eine Fehlermeldung ausgegeben.
Der Code ist unordentlich und nur fix gepinselt - es ging nur darum zu zeigen das auf fähigen Systemen locker 60fps möglich sind.
Exe im Anhang. KompilierenMarkierenSeparieren {$cleq}
const apptitle=oglscrl
#include oglhelper.inc
ogl.window(apptitle,1,800,600,,,,,60)
long tex.bg1=ogl.loadTex(bild1.tex,,,false),
tex.bg2=ogl.loadTex(bild2.tex,,,false),
tex.bg3=ogl.loadTex(bild3.tex,,,false),
float t,y
casenot ogl.vsync(true)==true : err(Cant init V-Sync.)
do {
ogl.main()
t=t+2
y=y+(mousey-y)*0.1
case mousePressed : break
}
ogl.done()
ogl.main(){
ogl.clear
ogl.2dnow()
ogl(color,1,1,1,1)
ogl.scrollPlane(tex.bg2,-t mod 6400*0.25,600)
ogl(color,1,1,1,0.7)
ogl.scrollPlane(tex.bg2,(-t mod 3200)*0.5,1200)
ogl(color,1,1,1,1)
ogl.2dmove(0,y*-0.1)
ogl.scrollPlane(tex.bg1,(-t mod 1600),700)
ogl.2dmove(0,370-y*0.5)
ogl.scrollPlane(tex.bg3,(-t mod 800)*2,600)
ogl.show
}
ogl.scrollPlane(long tex,float p,y){
ogl(texture,tex,1)
ogl.rectangle(p+0,0,p+800,y)
ogl.rectangle(p+1600,0,p+2400,y)
ogl.rectangle(p+1600,0,p+800,y)
}
err(string s){
messagebox(s,apptitle,4096)
end
}
|
|
|
| |
|
|
|
Frank Abbing | Ja, nett! |
|
|
| |
|
|
|
| Konnte es auch auf langsameren Computern testen (1,6ghz und 2,2ghz) und es funzt. |
|
|
| |
|
|
|
Peter Max Müller | Testumgebung: Notebook Windows XP SP1 Pentium 4 Mobile 2,4Ghz NVidia Map 17-232
Ergebnis: Wie ein Käfer.....läuft und läuft und läuft und .................
Fazit: Herzlichen Glückwunsch
Mfg Peter |
|
|
| |
|
|
|
Jac de Lad | Während des Scrollens ist ein flackernder Strich am Rand des Katzenbildes zu sehen. Er verschwindet aber dann gleich nach so einer Sekunde wieder. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 24.01.2008 ▲ |
|
|
|
|
Jörg Sellmeyer | Also auf meinem Athlon mit 2 gh läufts astrein. Es sieht aber relativ unspekakulär aus (Linien auf schwarzem Hintergrund, die sich überholen), deshalb bin ich nicht sicher, ob das so muß. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.01.2008 ▲ |
|
|
|
|
| Linien auf den Texturen sind korrekt denn ich habe mir bei den Texturen keine Müh gegeben!
Ein Bild wie auf dem Screenshot sollte jedoch zu sehen sein - also nicht nur Linien!
Es kann sein das ich die Texturauflösung mit 512x512 etwas zu hoch bemessen habe, 256x256 läuft sicher auf mehr GraKarten.
Einzig ob das Scrolling flüssig ist ist für mich entscheidend. |
|
|
| |
|
|
|
| Danke!
Funktioniert wohl bei kaum jemand anderem was? [...] |
|
|
| |
|
|
|
Jörg Sellmeyer | Ah! Jetzt! Sieht super aus - meine Katze ist begeistert. War das denn beim ersten mal das Gleiche und Du hast was geändert, oder was? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.01.2008 ▲ |
|
|
|
|
Jörg Sellmeyer | Interessant: Manchmal sehe ich die Bilder nicht, nach Programmstart. Wenn ich dann Enter drücke, funktionierts wieder. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.01.2008 ▲ |
|
|
|
|
| Nichts geändert - tatsächlich hatte ich auch einmal einen Start welcher gar keine Texturen anzeigt. Ich habe keine Idee wie das zustande kommt da ich weder subclasse oder etwas anderes tue was xprofan durcheinander bringen könnte.
Texturen müssen im Ausführungsverzeichnis liegen - vlt. lag es daran. |
|
|
| |
|
|
|
Jörg Sellmeyer | Nö - alles aus der Zip-Datei in ein Verzeichnis entpackt und gestartet. Ist ja dann auch im laufenden Betrieb mit Enter wieder i. O. gekommen... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.01.2008 ▲ |
|
|
|