Shader funktionen per read/writepixel?
Übersicht

![]() |
HummelpupsBetreff: Shader funktionen per read/writepixel? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen,
ich versuche gerade mal, die negate funktion von BlitzMax. Die gibts auf blitzwiki.org als beispiel für writepixel. Nun wollte ich diese negate funktion als eine Art Shader laufen lassen. Ich kann leider keine Shader in die Grafikkarte programmieren ^^ wollte es als Funktion belassen die man bspweise so aufruft: shader_negate(mousex(),mousey(),100,100) das funktioniert auch schon Wunderbar. alles wird schön an der Maus rect mit 100x100 pixel negiert. Nur leider frisst diese funltion 10ms. 200x200 verbraucht schon 50ms. Das liegt hauptsächlich an dem Grabpixmap denke ich mal um den aktuellen spielescreen abzuspeichern und dann darin zu zeichnen und später wieder anzuzeigen. Struktur meines Programmes ca. so Code: [AUSKLAPPEN] fuction shader
end function
pm=grabpm for for readpixel writepixel pm next next drawpm pm Siehe Funktion auf blitzwiki leicht verändert. Wie kann ich da noch speed raus holen? Wie wäre es mit Writepixelfast das es nicht gibt? Kann ich den Buffer locken für die Zeit? Need help ,D IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
garnicht, da BM nicht auf Echtzeitpixelmanipulation ausgelegt ist.
Wenn du das willst musst du dir effektiv Shader einbinden (im englischen Board gibts ein kleines Modul das dir Shadersupport einbaut), oder du nutzt ein Modul das es bereits hat wie Vertex 3D Engine mit seinen Shadern bzw Vertex-Fragment Programmen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für deine Hilfe,
das ist natürlich schade. Werde mal im englischem Forum gucken. Wäre natürlich toll wenn wir eine Lib erstellen könnten, die uns Shader zur verfügung stellt. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist leider nicht ganz so einfach ... zumal auf Windows DX7 das Default ist, was garkeine Shader unterstützt ![]() Mit OpenGL alleine wärs wohl weniger ein Problem, gibt ja schon einige Implementationen, denn brauchen würde man wohl nur die Pixelshader. Vertexshader machen bei Quads nicht so viel Sinn ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab hier mal was mit OpenGL und dem Accubuffer gemacht, was fast an ein negativ herankommt, leider wird das ganze etwas dunkler.
Aber vielleicht reicht es ja für deine ansprüche. http://www.blitz-pasting.net/i...amp;id=630 |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schönen Dank ![]() die schnell genug sind in Spielen verwendet zu werden. Nicht nur zun invertieren. Werde mir dein Beispiel mal angucken. Ich wollte mehrere ShaderFunktionen programmieren, habe schon 3. @Dreamora: erm, ja, VertexShader sind glaube ich nicht von nöten ^^ in einer 2d umgebung. Pixel Shader sind da schon interessanter. Habe nun z.B. eine Funltion, die den bestimmten bereich grobkörnig macht. Also 4 px zu einem fügt, Farbe errechnet. Solche Shader sollten vollkommen reichen. Die richtigen Shader hatten bis vor kurzen ja auch nur bis zu 96 Befehle umfasst. Mehr nicht (!) Einfach einen Filter über bestimmte bereiche des Bildschirms legen. Das wärs dann. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier mal das genauer was ich meine.
http://www.blitz-pasting.net/i...amp;id=631 Beschwert euch nicht wegen Webspace ,D bin auffer arbeit und hab gerade keinen FTP Client zur hand. Im Programm: Mausrad shader wechseln. Will einfach ein paar bereiche so ändern. VORSICHT: Habe noch keine Abfrage engebaut, wo er mit writepixel hinschreibt. Kommt ihr also unten ab den Bildschirmrand, stürzt evtl. der PC ab oder es treten Fehler auf. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also für diese Farbumkehr-Sache kannst du INVERTBLEND verwenden. Das ist derzeit noch nicht mit im Standardmodul drin, schau mal im Englischen Blitzforum danach. Irgendjemand hatte mal gepostet, wie man das nachträglich einbaut. Ich habs noch nicht ausprobiert, aber da es ein Blendmode der Graka ist, läufts wahrscheinlich sauschnell. Der zweite Vorteil ist, dass du den Invert-"Shader" dann auf beliebige Formen anwenden kannst.
Edit: Hier, habs gefunden: http://www.blitzbasic.com/Comm...NVERTBLEND |
||
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kapiere es nicht ... kaum den Print Befehl kapiert und schon nach Shadern schreien.
Wenn Ihr Euch wirklich fit genug dafür fühlt, importiert einfache ne aktuelle OGL Version und verwendet die Shader native direkt auf der GraKa, anstatt hier irgendwelchen lahmen Müll mit Pixel Operationen durchführen zu wollen ... ts..ts..ts ... n00bz |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
...und was mache ich dann, wenn ich DirectX verwende? ^^
Wer so weit geht, kann auch gleich ein Modul schreiben. |
||
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
einfache Antwort .. einfach kein fuck'n DX verwenden ... | ||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
Suco-XBetreff: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Beschwert euch nicht wegen Webspace ,D bin auffer arbeit und hab gerade keinen FTP Client zur hand. Hey, was soll denn das heißen? Immerhin startet auch auf BPasting der Download ganz normal. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
- Zuletzt bearbeitet von Suco-X am So, Nov 13, 2005 15:10, insgesamt einmal bearbeitet
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry Suco so wars nicht gemeint.
ich weiß nicht wie das System funktioniert und teilweise bei alten Threads die auf BPasting linken funzen nicht mehr. Evtl. werden die inhalte ja überschrieben. Meinte deswegen wenn der DL nach einiger Zeit nicht mehr funzt, das er evtl. von der Site gelöscht wurde. Also war nich bös gemeint. Sry. Auf meinem Space ist normalerweise der ganze Schrott drauf geblieben weil ich nie Probleme mit der Mengen begrenzung hatte. Sry. Naja zu BruZ's comment sag ich einfach mal nix, trotzdem auch danke für deine Antwort. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
Suco-XBetreff: ........ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ahso, dann nichts für ungut. Normalerweise bleiben die Downloads bestehen, wenn nicht gerade paar Kiddies dran rumfummeln (Wie es letztens geschah)
Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum editiert? ^^ | ||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group