Français
Source/ Codesnippets

Collison Ogl Oglglreadpixels Viereck

 
la première Collisionsabfrage avec dem Viereck 128X128 Pixel.
je Bilde cela Viereck maintenant noir ab, avec cela möglichs viele Farben pris volonté peut.
là sonst autre Farben im Viereck qui aussi qui Collisionsfarbe avons ,angesprochen volonté.
si cela voiture cela "Viereck" berührt ,welches hiermit erstellt wurde : ogl("glReadPixels",140,140,128,128,~GL_BGRA,~GL_UNSIGNED_BYTE,ogl_rgb#) , wird qui Wert 255 ausgeben.

Massgebend sommes qui Farben RGB grösser 252. peux on jederzeit dans qui CPP-Dossier changement.

Habe seulement einmal qui Abfrage avec dem DEV C++ gemacht bzw DLL erstellt., weil je dans ASM erstmal wieder gescheitert suis.
qui DEV C++ Source-Fichiers sommes aussi avec dabei.

qui Zip ist angehängt.

mfg

11 kB
Kurzbeschreibung: qui Fichiers
Hochgeladen:21.08.2008
Downloadcounter139
Download
 
21.08.2008  
 




Jörg
Sellmeyer
très joli! Funktioniert prima - es wäre seulement joli, si Du aussi encore irgendwo vermerkst, qui qui Tasten Q,W,E,S Bewegungen verursachen. je zumindest habe pas alle Scancodes im tête
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.08.2008  
 



ici sieht on aussi qui enorme Geschwindigkeit de qui DEV C++ Dll.
si sich cela voiture ausserhalb des Rechteckes bewegt, doit 128X128x3 abfragen avoir lieu si quelque chose passiert et es bewegt sich toujours super vite sans ruckeln.
cela était erstmal mon erstes but. une fliessende Bewegung avec viel kontrollen.

Einen unregelmässigen Körper pourrait on aussi abfragen.
Daran wird maintenant getüftelt.

Versuche aussi cet encore dans ASM umzusetzen.

mfg
peter
 
21.08.2008  
 



ici ist qui ASM-Code.

auparavant, bevor qui xpse genutzt wird , muss cet Changement avoir lieu:

ogl("glReadPixels",140,140,128,128,~GL_BGRA,~GL_UNSIGNED_BYTE,ogl_rgb#) > GL_BGRA entfernen
ogl("glReadPixels",140,140,128,128,32993,~GL_UNSIGNED_BYTE,ogl_rgb#) > qui numéro 32993 reinsetzen

qui Grund ist, cela dans qui INC-Dossier cet Variable encore pas reingesetzt wurde.

Den Aufruf avec qui Variablen z% et dem Drawbefehl aussi qui Variable z% transfert : DrawText 20,160,(Format$("######0 ",z%))
ensuite z%=Call(xpia_getprocaddressm(xpia_hmodule&,"rgb_farbe"),ogl_rgb#,groesse%)

Im Anhang ist cela gesamte Programme pour den Assembler xpse comme Zip.

mfg
peter
KompilierenMarqueSéparation

6 kB
Hochgeladen:21.08.2008
Downloadcounter107
Download
 
21.08.2008  
 




Frank
Abbing

Im Anhang ist cela gesamte Programme pour den Asssembler xpse comme Zip.


Peter, qui Inline-Assembler heisst XPIA. XPSE ist qui Precompiler...
 
21.08.2008  
 



peut-être begreife je le reste dans mon vivre.

mfg
 
22.08.2008  
 



Ablaufzeiten (Brutto)qui Collisionsabfrage des Rechteckes 128X128X4 avec 10000 Schleifendurchgänge :
calculateur avec 1,6 Gigahz

qui Profan Tandis que-Leerschleife braucht ca 200ms.

ASM avec XPIA/XPSE (DLL) sommes es 4550 ms .

DEV C++ sommes es 6210 ms ( une For-Boucle).

DEV C++ sommes es 6260 ms (Tandis que-Boucle).

chez 10000 durchgängen lohnt es sich cet dans ASM umzusetzen, sommes ca 1,5 sec unterschied.

mfg
peter
 
22.08.2008  
 




Frank
Abbing
Votre Assembler-Routine ist pas optimiert. si du vous umstellst de Variablen sur Register ist encore einiges plus drin. Ca. 20 Prozent, schätze je.

cet Routine behält deine Programmstruktur chez, sollte mais déjà travailler plus vite:
KompilierenMarqueSéparation
If 0

    AsmStart rgb_farbe (ogl_rgbxy#,groesse%)

        mov edi,para2
        xor ecx,ecx
        mov ebx,para1

        .while ecx<=edi

            mov al,[ebx]
            mov cl,[ebx+1]
            mov dl,[ebx+2]

            .if al>252

                mov eax,255
                .break

            .endif

            .if cl>252

                mov eax,255
                .break

            .endif

            .if dl>252

                mov eax,255
                .break

            .endif

            lea ebx,[ebx+4]
            lea ecx,[ecx+4]

        .endw

    AsmEnd(z%)

EndIf

 
22.08.2008  
 




Jörg
Sellmeyer

qui Profan Tandis que-Boucle braucht ca 200ms.


es Du sûrement, qui Profan plus que 20-la fois plus rapide ist comme ASM?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
22.08.2008  
 



Soll vide-Boucle heissen, weil je entier dessus aussi de Brutto spreche.
qui Test fonctionne chez allen dans qui gleichen Tandis que-Boucle de Profan

j'ai aussi la fois cet Freebasic getestet zum DLL erstellen.

qui dans Freebasic une DLL erstellen voudrais et ne...aucune ASM peux/voudrais et ne...aucune "C", ist avec cela bien bedient.

qui Freebasic-DLL braucht 7400ms alors seulement 1 seconde länger comme DEV C++.

Könnte pour qui Basicprogrammierer , qui une DLL erstellen serait einer qui besten Freewarealternativen son.

chez meiner Collisionstest-Auswertung avec qui Freebasic-DLL sur dem Bildschirm à qui Grafik, c'est moi qui Unterschied optique pas aufgefallen. cela objet flitzte weiterhin toujours hin et her trotz qui Überprüfung/Auswertung.

mfg
peter
 
22.08.2008  
 



Frank, deine braucht 3,5 sekunden länger.

je weiss eh bien pas, comment cela avec den Registern et LEA là funktioniert.
sur jeden le cas muss qui Adresse toujours um "4" continuer.

mfg
peter
 
22.08.2008  
 




Frank
Abbing

Frank, deine braucht 3,5 sekunden länger.


Unrichtig! Register travailler toujours plus rapide comme Varablen im grenier, selbst si vous bistrot sommes. Solche Tests habe je déjà Dutzende durchgeführt.
et so une Assemblerroutine nécessaire niemals 3,5 Sekunden länger, vous nécessaire überhaupt seulement wenige Millisekunden en tout. Selbst si du avec grossen Bitmaps arbeitest. tu peux cela volontiers avec qui ProSpeed.dll testen, qui zahlreiche Bitmapeffekte kennt. Irgendwas allez chez deinen Tests gewaltig de travers.
quoi oui c'est ca soll qui Routine car faire? vous bricht doch tout de suite ab, si vous une très hellen Farbwert findet. si du une Robotersoftware écrivons veux, qui qui données einer Cam auswertet, musst du déjà le nombre heller Bildpunkte zählen. auparavant mais cela Cambild gris faire, bzw. noir-weiss.
 
22.08.2008  
 




Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

11.046 Views

Untitledvor 0 min.
Tango30.10.2021
Sven Bader01.08.2021
H.Brill08.10.2020
funkheld25.05.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie