Gast
2007-03-09, 15:58:47
Hallo,
ich habe nicht viel Ahnung von Zeigern (ja ich weiß -sollte man können) und hab da gerade ein kleines Problem. Ich poste mal ein bisschen code um das zu veranschaulichen:
uint8_t *fBuf = (uint8_t*)frameBuffer;
for (int y=0; y<height; y++){
for (int x=0; x<width; x++){
Farbe TempFarbe;
TempFarbe.rp = fBuf[kiR] /255.0000; // red
TempFarbe.gp = fBuf[kiG] /255.0000 ; // green
TempFarbe.bp = fBuf[kiB] /255.0000; // blue
TempFarbe.ap = fBuf[kiA] /255.0000;
pixelset.push_back(TempFarbe);
fBuf += 4;
}
}
In der Schleife soll aus einem framebuffer RGB und alpha ausgelesen werden. Dann wird der Zeiger versetzt und die nächste Werte werden gelesen.
Nach dieser Schleife möchte ich wieder vom Anfang des Framebuffers aus was machen. Meine Frage: wie setzte ich den Zeiger wieder an den Anfang ?
Kann ich einfach
*fBuf = frameBuffer;
schreiben, oder ziegt der dann irgendwo hin?
ich habe nicht viel Ahnung von Zeigern (ja ich weiß -sollte man können) und hab da gerade ein kleines Problem. Ich poste mal ein bisschen code um das zu veranschaulichen:
uint8_t *fBuf = (uint8_t*)frameBuffer;
for (int y=0; y<height; y++){
for (int x=0; x<width; x++){
Farbe TempFarbe;
TempFarbe.rp = fBuf[kiR] /255.0000; // red
TempFarbe.gp = fBuf[kiG] /255.0000 ; // green
TempFarbe.bp = fBuf[kiB] /255.0000; // blue
TempFarbe.ap = fBuf[kiA] /255.0000;
pixelset.push_back(TempFarbe);
fBuf += 4;
}
}
In der Schleife soll aus einem framebuffer RGB und alpha ausgelesen werden. Dann wird der Zeiger versetzt und die nächste Werte werden gelesen.
Nach dieser Schleife möchte ich wieder vom Anfang des Framebuffers aus was machen. Meine Frage: wie setzte ich den Zeiger wieder an den Anfang ?
Kann ich einfach
*fBuf = frameBuffer;
schreiben, oder ziegt der dann irgendwo hin?