Hey danke Schrompf für den Tipp. Manchmal sieht man den Wald vor lauter Bäumen nicht ;)
Denke das direkte manipulieren des Imagebuffers sollte völlig ausreichend sein. Vielleicht
schaue ich mir in einer ruhigen Minute einmal die 64bit Optimierung an ...
Die Suche ergab 28 Treffer
- 28.11.2012, 15:42
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
- 28.11.2012, 10:49
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Re: Code Optimierung
Sorry, j ist c gewesen, war ein Tippfehler. Hab ich korrigiert.
Um die Extraktion der Farbkomponenten zu vermeiden, hab ich es ja umgestellt, dann lande ich aber wieder bei meinem temporären buffer. Irgendwie bin ich hier gedanklich grad komplett blockiert :?
Um die Extraktion der Farbkomponenten zu vermeiden, hab ich es ja umgestellt, dann lande ich aber wieder bei meinem temporären buffer. Irgendwie bin ich hier gedanklich grad komplett blockiert :?
- 28.11.2012, 09:37
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Re: Code Optimierung
Sollte die Textur nur einmal am Anfang geladen werden, so würde ich die Textur (ohne temporäre Buffer, etc.) einfach direkt in einer Schleife befüllen (und dabei natürlich auf den Pitch achten). Yepp, die Textur wird nur am Anfang einmal geladen und das swapping durchgeführt. Ich hatte es "dir...
- 27.11.2012, 23:12
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Re: Code Optimierung
Irgendwie kann ich Dir grad nicht folgen.
- 27.11.2012, 22:54
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Re: Code Optimierung
Wenn ich das richtig verstanden habe ja.
- 27.11.2012, 22:39
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Re: Code Optimierung
Wenn wir beide unter direkt verstehen, das dst = m_locked.rect->pBits ist, dann habe ich das bereits ausprobiert.
Hier sind dann zwar die Kanäle korrekt ausgetauscht, aber ich habe dann Texturfehler. Meine Vermutung liegt
darin, dass der Texturbuffer etwas größer ist als mein Imagebuffer.
Hier sind dann zwar die Kanäle korrekt ausgetauscht, aber ich habe dann Texturfehler. Meine Vermutung liegt
darin, dass der Texturbuffer etwas größer ist als mein Imagebuffer.
- 27.11.2012, 22:11
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Re: Code Optimierung
Die Bilddaten werden separat geladen und liegen im vertauschten Farbformat vor, deshalb das swapping.
Und mit diesen Daten befülle ich ja meine Textur (dxData ist ja der Zeiger auf den Texturbuffer) ...
Und mit diesen Daten befülle ich ja meine Textur (dxData ist ja der Zeiger auf den Texturbuffer) ...
- 27.11.2012, 21:49
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Code Optimierung
- Antworten: 17
- Zugriffe: 5525
Code Optimierung
Ich habe vorhin ein swapping für DX Textur eingebaut um meine RGBA Bilddaten in BGRA Daten zu swappen: const unsigned char* src = m_image->getImageData(); unsigned int width = image->getWidth(); unsigned int height = image->getHeight(); unsigned int len = width*height*4; unsigned char* dst = new uns...
- 13.11.2012, 21:33
- Forum: Algorithmen und Datenstrukturen
- Thema: Base Vector sort auf Basis der abgeleiteten Klasse?
- Antworten: 6
- Zugriffe: 2777
Re: Base Vector sort auf Basis der abgeleiteten Klasse?
Stimmt, Kinder haben nur einen Parent und selbst wieder 0..n Kinder. Stimme Dir zu Dot, Shared_ptr ist nicht optimal, ist historisch gewachsen. Wollte ich schon länger mal auf scoped_ptr umstellen, habs aber immer wieder verdrängt. Vielleicht sollte ich Deine Anmerkung mal nutzen, um etwas aufzuräum...
- 13.11.2012, 14:52
- Forum: Algorithmen und Datenstrukturen
- Thema: Base Vector sort auf Basis der abgeleiteten Klasse?
- Antworten: 6
- Zugriffe: 2777
Re: Base Vector sort auf Basis der abgeleiteten Klasse?
Ah super danke.
- 13.11.2012, 14:36
- Forum: Algorithmen und Datenstrukturen
- Thema: Base Vector sort auf Basis der abgeleiteten Klasse?
- Antworten: 6
- Zugriffe: 2777
Base Vector sort auf Basis der abgeleiteten Klasse?
Ich habe eine Basisklasse Node, von der ich mehrere Subklassen ableite. In Node halte ich mir einen std::Vector mit allen Kind-Elementen als boost::shared_ptr. Nun muss ich in einer Subklasse eine Sortierung der Kinder durchführen, auf Basis eines spezifischen Kind-Members. Hierfür wollte ich mir ei...
- 07.11.2012, 12:58
- Forum: Grafikprogrammierung
- Thema: Texture Artefakte im Alpha-Bereich
- Antworten: 4
- Zugriffe: 5397
Re: Texture Artefakte im Alpha-Bereich
Nicht ganz, hab mich etwas unspezifisch ausgesrpochen. Mit ein Sprite pro Textur meinte ich ein Sprite pro referenzierter (aktiver) Textur. Hier verbergen sich also mehrere Atlas Texturen hinter, im Konkreten Fall 3, eines für die Obstacles (Regale), eines für den Ritter inkl. Animationen und eine f...
- 07.11.2012, 11:27
- Forum: Grafikprogrammierung
- Thema: Texture Artefakte im Alpha-Bereich
- Antworten: 4
- Zugriffe: 5397
Re: Texture Artefakte im Alpha-Bereich
Schon getestet ;) Das Debugging sieht soweit i.O. aus, Texture switch und Menge der Aufrufe sind i.O. Auch im geDEBugger werden die Texturreferenzen korrekt angezeigt. Das Sprite hinzufügen ist nichts besonderes hier wird nur der boost::shared_ptr auf die Texturreferenz neu gesetzt: /* If we have an...
- 07.11.2012, 10:52
- Forum: Grafikprogrammierung
- Thema: Texture Artefakte im Alpha-Bereich
- Antworten: 4
- Zugriffe: 5397
Texture Artefakte im Alpha-Bereich
Ich habe auf Eure Anregungen hin meinen SpriteBatcher (http://zfxce.zfx.info/viewtopic.php?f=5&t=2622&p=34318#p34318), so angepasst, das dieser nun Sprites mit unterschiedlicher Texturreferenz batchen kann. Beim Batcher handelt es sich um ein VBO, dass solange die Geometriedaten batched, bis...
- 06.11.2012, 22:55
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Re: Z Buffer in Orthogonaler Projektion [Gelöst]
So ich habe wie angekündigt den Batcher umgebaut, in der Basis klappt es schon einmal,
ich kann nun alle Sprites über einen Batcher rendern, damit ist das ZBuffer Problem erledigt :)
ich kann nun alle Sprites über einen Batcher rendern, damit ist das ZBuffer Problem erledigt :)
- 06.11.2012, 07:45
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Re: Z Buffer in Orthogonaler Projektion
Was genau versprichst du dir von diesem Ansatz mit mehreren SpriteBatchern? Einen ordendlichen Performance Boost. Dadurch, dass jeder SpriteBatcher an genau eine Textur oder Atlas gebunden ist, kann ich n-viele Sprites vom selben Typ in einem Pass rendern und benötige nur eine einzige Texturaktivie...
- 05.11.2012, 22:08
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Re: Z Buffer in Orthogonaler Projektion
Ich habe mich einmal hingesetzt und das Demo angepasst und zwei solide Flächen hinzugefügt. Und siehe da, bei diesen Flächen klappt es. Habe auch beide Flächen auf VBO's umgestellt um zu testen ob ich hier einen Fehler hatte, es läuft weiterhin wie gewünscht. Meine Vermutung ist nun dass es mit dem ...
- 04.11.2012, 20:00
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Re: Z Buffer in Orthogonaler Projektion
Ich habe es noch einmal geprüft, die Bilder sind in der richtigen Reihenfolge. Bei positiven Werten erfolgt kein clipping. Ich habe mir mal den gDEBugger installiert und gestartet, noch werde ich aus dem Tool nicht schlau, aber vielleicht hilft Euch ja die DepthBuffer Info: http://s7.directupload.ne...
- 04.11.2012, 11:48
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Re: Z Buffer in Orthogonaler Projektion
Ich benutze nicht glOrhto zum Definieren der Orthogonalen Projektion, sondern eine 4x4 Matrix, die ich wie folgt als OrthographicOffCenter basierend auf den Vieport Daten berechne und die der OpenGL Spezifikation folgt: [ A 0 0 C ] [ 0 B 0 D ] [ 0 0 q qn ] [ 0 0 0 1 ] Matrix4 Matrix4::createOrthogra...
- 04.11.2012, 09:08
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Re: Z Buffer in Orthogonaler Projektion
Ja hat er. 24 Bit. Der Depth Test klappt auch bei 3D Objekten mit perspektivischer Projektion.
- 03.11.2012, 21:18
- Forum: Grafikprogrammierung
- Thema: Z Buffer in Orthogonaler Projektion
- Antworten: 10
- Zugriffe: 3723
Z Buffer in Orthogonaler Projektion
Basierend auf dem Andengine SDK versuche ich grad ein kleines Demo mit einer Isometrischen Map zu schreiben. Für meine Sprites habe ich mehrere Spritebatcher, in denen die Sprites nach ZIndex sortiert werden. Problematisch ist das Rendern, da die Buffer (pro Spritebach ein VBO) nacheinander gerender...
- 25.09.2012, 12:18
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Re: Mauskoordinaten
Logisch! Danke für Eure Hilfe.
- 25.09.2012, 12:12
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Re: Mauskoordinaten
Ok, da liegt der Hund begraben. Warum auch immer, im rc.top und rc.left stehen nach dem Adjust -25 und -3. Damit erklärt sich dann auch das Delta, denn meine Dimension + diese Werte ergeben dann die korrekten Ausstiegswerte. Aber warum ist das so? Ich kann übrigens wie beschrieben das left und top d...
- 25.09.2012, 11:21
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Re: Mauskoordinaten
Mein Sprite ist 10x10 groß, d.h. die Rect (x,y,w,h) Daten lauten 25, 15, 35, 25. Und dagegen teste ich aktuell die Cursor position, die ich aus dem Event erhalte: case WM_MOUSEMOVE : { cursor_x = LOWORD(lparam); cursor_y = HIWORD(lparam); } case WM_MOUSELEAVE : { cursor_x = LOWORD(lparam); cursor_y ...
- 25.09.2012, 10:24
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Re: Mauskoordinaten
Ich rechne ja mit den Event-Cursor Koordinaten. Dabei habe ich ja fest gestellt, dass die Koordinaten beim LEFT Event nicht den korrekten Werten entsprechen und die Koordinaten mit meinem Sprite (10x10) nicht übereinstimmen. Der Sprite Ursprung in der linken unteren Ecke (einfaches Quadrat) wird im ...
- 25.09.2012, 08:30
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Re: Mauskoordinaten
Ok, Fehler gefunden, sollte auch das justierte Rect dann bei der Erzeugung des Fensters anwenden ;) Sieht schon mal besser aus, erhalte nun 600x378 als Werte zurück. Passt aber immer noch nicht ganz, da der Cursor bei 596x374 aufhört mir die Werte zurück zu geben??! D.h. irgendwo habe ich immer noch...
- 25.09.2012, 07:18
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Re: Mauskoordinaten
Hmm, ich habe mir die Links mal angeschaut, aber irgendwie klappt das nicht. Ich erhalte als Client-Rect immer die Werte die ich hinein gesteckt habe (600x400) und nicht die um den Rand reduzierten Werte. Ich habe mir auch mal GetSystemMetrics angeschaut ob ich hier irgendwie die Randdaten bekomme, ...
- 24.09.2012, 15:05
- Forum: Grafikprogrammierung
- Thema: Mauskoordinaten
- Antworten: 12
- Zugriffe: 3596
Mauskoordinaten
Hallo zusammen, ich habe grade begonnen mich in die Grafikprogrammierung einzuarbeiten und gehe dabei die Tutorials auf codesampler durch. Mein erstes eigenes Fenster steht und er rendert auch die ersten primitiven. Nun wollte ich einmal mit der Windows API weiter rumspielen, dabei viel mir auf, das...