Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

XP^

Treue Seele

  • »XP^« ist der Autor dieses Themas
  • Private Nachricht senden

1

01.09.2007, 23:20

SDL_Rect & SDL_BlitSurface

Hallo,

weiß einer von euch, was "Blit" bedeutet? Habs versucht mit Google zu übersetzen, hat aber nicht geklappt :)

So nun kommen wir zu einem komplizierteren Thema ^^
SDL_Rect.

C-/C++-Quelltext

1
2
3
4
5
SDL_Rect offset;
offset.x = x;
offset.y = y;

SDL_BlitSurface( source, NULL, destination, &offset );


Ich C&P diesen Mist immer ohne zu wissen,was er bedeutet :roll:

Schönen Abend noch ;)

2

02.09.2007, 07:57

Die Google-Suche wirft an erster Stelle einen interessanten Wikipedia-Artikel raus: bit block transfer... Der Rest dürfte sich dann von selbst erklären... :o
fka tm

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

3

02.09.2007, 11:39

Re: SDL_Rect & SDL_BlitSurface

Zitat von »"XP^"«

Hallo,

weiß einer von euch, was "Blit" bedeutet? Habs versucht mit Google zu übersetzen, hat aber nicht geklappt :)

So nun kommen wir zu einem komplizierteren Thema ^^
SDL_Rect.

C-/C++-Quelltext

1
2
3
4
5
SDL_Rect offset;
offset.x = x;
offset.y = y;

SDL_BlitSurface( source, NULL, destination, &offset );


Ich C&P diesen Mist immer ohne zu wissen,was er bedeutet :roll:

Schönen Abend noch ;)


Hallo,
wie mein vorposter sagte -> Googlen hilft.
Und was allgemein klar sein sollte ist, das man nicht alles mit C&P machen soll.
Vor allem wenn du in diesem Forum hilfe erwartest ;)

MFG T-Virus
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

02.09.2007, 12:29

Zitat von »"TrikkieMikkie"«

Die Google-Suche wirft an erster Stelle einen interessanten Wikipedia-Artikel raus: bit block transfer... Der Rest dürfte sich dann von selbst erklären... :o


Unsinn, wie bekommst du denn bit block transfer in Blit? Die Abkürzung BitBlt kommt von der Anweisung BitBLT (Xerox Alto computer) und steht für bit block transfer. Blit ist zwar verwand bedeutet aber korrekt ausgeschrieben Block Image Transfer.

Zitat von »"T-VIRUS"«


Hallo,
wie mein vorposter sagte -> Googlen hilft.
Und was allgemein klar sein sollte ist, das man nicht alles mit C&P machen soll.
Vor allem wenn du in diesem Forum hilfe erwartest ;)

MFG T-Virus


Da kennst du dich mit aus, oder?

C-/C++-Quelltext

1
SDL_Rect offset;


Deklariert/Definiert ein Objekt vom Typ SDL_Rect. Rect steht für Rectangle (zu Deutsch Rechteck) und ist definiert als:

C-/C++-Quelltext

1
2
3
4
typedef struct{
  Sint16 x, y;
  Uint16 w, h;
} SDL_Rect;


Die ersten beiden Membervariablen geben die X/Y Position der linken oberen Ecke im Koordinatensystem an (signed integrale Werte im Bereich -2^15 und 2^15-1). Die beiden letzten Membervariablen geben die Dimensionen (Breite und Höhe) des Rechtecks an (unsigned integrale Werte im Bereich 0 und 2^16-1).

C-/C++-Quelltext

1
2
offset.x = x; 
offset.y = y;


Hier werden den Membervariablen (x und y) des Objekts (offset vom Typ SDL_Rect) Werte zugewiesen.

C-/C++-Quelltext

1
SDL_BlitSurface( source, NULL, destination, &offset );


Zuletzt wird die Funktion SDL_BlitSurface aufgerufen. Diese ist wie folgt deklariert:

C-/C++-Quelltext

1
int SDL_BlitSurface  (SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);


Der erste Parameter erwartet einen Zeiger auf eine Instanz des Typs SDL_Surface, also die Daten die übertragen werden sollen, quasi die Quelle (engl: Source [src]).

Der zweite Parameter erwartet einen Zeiger auf eine Instanz vom Typ SDL_Rect. Hier kann angegeben werden welcher Bereich vom Quellsurface kopiert werden soll. Wird hier ein Nullzeiger (0) übergeben (wie im Beispiel) dann wird einfach das komplette Quellsurface kopiert.

Der dritte Parameter erwartet einen Zeiger auf das Zielsurface (engl: Destination [dst]) in das gebittet werden soll. Ähnlich also wie der erste Parameter, nur eben nicht die Datenquelle sondern das Ziel der Daten.

Der letzte Parameter erwartet wieder einen Zeiger auf eine Instanz vom Typ SDL_Rect. Hier kann wie beim 2. Parameter auch 0 angegeben werden. Im Beispiel wird allerdings die Adresse auf das zuvor erzeugte Objekt übergeben.

Die Funktion selbst kopiert (blittet) die Daten des Quellsurfaces in das Zielsurface.

Viele Grüße
@D13_Dreinig

XP^

Treue Seele

  • »XP^« ist der Autor dieses Themas
  • Private Nachricht senden

5

02.09.2007, 14:49

Hallo :)

Zitat von »"TrikkieMikkie"«

Die Google-Suche wirft an erster Stelle einen interessanten Wikipedia-Artikel raus: bit block transfer... Der Rest dürfte sich dann von selbst erklären... :o


Hab ja hier(auch wenns Delphi betrifft) nun gefunden was "blit" bedeutet, aber David hats schon gesagt :)


Zitat von »"T-VIRUS"«



Hallo,
wie mein vorposter sagte -> Googlen hilft.
Und was allgemein klar sein sollte ist, das man nicht alles mit C&P machen soll.
Vor allem wenn du in diesem Forum hilfe erwartest ;)



C&P hab ich ja nur bei

C-/C++-Quelltext

1
2
3
SDL_Rect offset;
offset.x = x;
offset.y = y;


gemacht, weil ich nicht wusste, was das bewirkt :p

Zitat von »"David_pb"«


C-/C++-Quelltext

1
SDL_Rect offset;


Deklariert/Definiert ein Objekt vom Typ SDL_Rect. Rect steht für Rectangle (zu Deutsch Rechteck) und ist definiert als:

C-/C++-Quelltext

1
2
3
4
typedef struct{
  Sint16 x, y;
  Uint16 w, h;
} SDL_Rect;


Die ersten beiden Membervariablen geben die X/Y Position der linken oberen Ecke im Koordinatensystem an (signed integrale Werte im Bereich -2^15 und 2^15-1). Die beiden letzten Membervariablen geben die Dimensionen (Breite und Höhe) des Rechtecks an (unsigned integrale Werte im Bereich 0 und 2^16-1).

C-/C++-Quelltext

1
2
offset.x = x; 
offset.y = y;


Hier werden den Membervariablen (x und y) des Objekts (offset vom Typ SDL_Rect) Werte zugewiesen.

C-/C++-Quelltext

1
SDL_BlitSurface( source, NULL, destination, &offset );


Zuletzt wird die Funktion SDL_BlitSurface aufgerufen. Diese ist wie folgt deklariert:

C-/C++-Quelltext

1
int SDL_BlitSurface  (SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);


Der erste Parameter erwartet einen Zeiger auf eine Instanz des Typs SDL_Surface, also die Daten die übertragen werden sollen, quasi die Quelle (engl: Source [src]).

Der zweite Parameter erwartet einen Zeiger auf eine Instanz vom Typ SDL_Rect. Hier kann angegeben werden welcher Bereich vom Quellsurface kopiert werden soll. Wird hier ein Nullzeiger (0) übergeben (wie im Beispiel) dann wird einfach das komplette Quellsurface kopiert.

Der dritte Parameter erwartet einen Zeiger auf das Zielsurface (engl: Destination [dst]) in das gebittet werden soll. Ähnlich also wie der erste Parameter, nur eben nicht die Datenquelle sondern das Ziel der Daten.

Der letzte Parameter erwartet wieder einen Zeiger auf eine Instanz vom Typ SDL_Rect. Hier kann wie beim 2. Parameter auch 0 angegeben werden. Im Beispiel wird allerdings die Adresse auf das zuvor erzeugte Objekt übergeben.

Die Funktion selbst kopiert (blittet) die Daten des Quellsurfaces in das Zielsurface.


Das nenn ich ne super Erklärung :o
Danke, david :!:

Ich hab "blit", "to blit",etc. in Google versucht zu übersetzen, aber da kam meistens immer das selbe. Hab nie gewusst dass es kopieren heißt :(

Mit freundlichen Grüßen,
Daniel

Werbeanzeige