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

idontknow

unregistriert

1

19.02.2009, 19:39

Videomodus & Bildpufferformat

hey

ich möchte hier ienige Fragen zum oben genannten stellen, woebei es mir nur ums bessere Verständnis geht!
(Damit ichs auch wirklich kapiert habe!!)

Was genau an Daten gbt denn jetzt der Videomodus an??
1. Die Auswahl an Speicher für Farben (Farbauswahl)
2.Die Fenstergröße? Aber die wird doch durch das erstellte Fenster
angegeben oder? Muss man hiebei einfach dei Fentergröße angeben?
und eben die Bildrequenz

Und der Bildpuffer:
1.Sollte meist so groß sein we das Fenster! (und der Videomodus.)
2. Das Format, was wohl so ähnlich ist wie beim VideoModus!
3. In den Bildpuffer wird eine Scene geziecnet und dieser anschließend
auf dem Bildschirm angezeigt.


Meine Frage:
Habe ich etwas wichtiges vergesen?
Und ist das alles richtig? Wie gesagt will ich nur prüfen ob ich das jetzt einigermaßen verstanden habe (insbsondere das mit der Size des Fensters und des VideoMoudses..)

mfg

2

19.02.2009, 20:10

zum Videomodus:
1. jaein, er gibt an, wie die Farben pro pixel gespeichert werden, falls du das meintest
2. genau, das was du beim erstellen des fensters angegeben hast ist die Fenstergröße, und das beim Videomodus ist genaugenommen die Auflösung innerhalb des fensters, gibt aber unschön aus, wenn du was anderes als die fenstergröße angibst. Beim Vollbildmodus sieht das schon anders aus, da ist die größe des fensters vollkommen wurscht und der videomodus gibt die Auflösung für den ganzen Bildschirm (ist ja eben Vollbildmodus) an.

zum bildpuffer:
1. eigentlich immer so groß wie der videomodus, sonst muss die graka die pixel ja irgendwie von einer auflösung in ne andere bringen, und das geht nicht so unbedingt, und selbst wenn, dann nciht ohne verzerungen
2. dasselbe prinzip wie beim videomodus, im Prinzip ist ein Bildpuffer nur ein Array von Pixeln, und das Format gibt an, wie viel Speicherplatz pro pixel, und wie dieser aufgeteilt wird.
3. genau

afaik hast du nichts vergessen, im wesentlichen war das richtig, bis auf ein paar ungenauigkeiten (s.o.).

idontknow

unregistriert

3

19.02.2009, 20:19

juhuu.

Ich bin doch kein totaller Idiot... :D

idontknow

unregistriert

4

22.02.2009, 10:28

joa sorry fürs hochholen aber ich ahbe etwas entdeckt was ich nciht so ganz verstehe!

Im Buch, in der ersten Funkton, InitDirect3D (nicth teil der Tribase Engine!) wird der Video Modus Format gar nirgends angegeben....

Ich versteh das nicht. Ist dieser Format irrelevant? Der BackBufferFormat wird angegeben aber vom VidoModus nur die Breite und Höhe und Buildwiederholrate.

Habe ich da etwas über sehen oder ist es wirklich so dass man diesen Format nicht braucht?

mfg

5

22.02.2009, 13:22

wahrscheinlich wird für Videomodus und Bildpuffer dasselbe Format verwendet, was anderes ist auch relativ unsinnig, denn dann müsste die Graka Formatkonvertierung betreiben, was erstens nicht immer funktioniert, und zweitens alles andere als schön aussieht ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

22.02.2009, 14:25

der videomodus is das was du z.b. in windows bei den anzeigeeinstellungen einstellen kannst, also jener Modus in dem die graka die daten zum bildschirm schickt bzw. jener modus in dem der bildschirm sich befindet.
dein backbufferformat/abmessungen sind erstmal nur der modus in dem deine anwendung rendert. wenn du im fenstermodus bist dann kann/wird es so sein dass deine anwendung n andres format hat als der ganze bildschirm (zumindest was die abmessungen angeht, du kannst im fenstermodus als backbufferformat D3DFMT_UNKNOWN angeben, dann wird automatisch das format vom aktuellen videomodus genommen (das was du in windows eingestellt hast, wird heutzutage praktisch immer D3DFMT_X8R8G8B8 sein)).
wenn du im vollbildmodus bist (PresentParameters.Windowed = FALSE), dann sind backbuffer und videomodus identisch.

idontknow

unregistriert

7

22.02.2009, 20:22

ja, danke aber wo kann ich jetzt den zu verwendenden VideoModus angeben?
hab da leider nix gefunden.....

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

8

22.02.2009, 21:01

Die Tribase macht das doch in einem Dialog?

Wenn du bei DirectX meinst, dann gibst du den hier an:

http://msdn.microsoft.com/en-us/library/bb174313(VS.85).aspx

Das versteckt sich in den D3DPRESENT_PARAMETERS.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

22.02.2009, 21:01

Zitat von »"idontknow"«

ja, danke aber wo kann ich jetzt den zu verwendenden VideoModus angeben?
hab da leider nix gefunden.....


den kannst du nur angeben wenn du im vollbildmodus bist, denn sonst ist der ja schon über die einstellung in windows festgelegt.
im vollbildmodus wird dann einfach genau das was du beim backbuffer einstellst (höhe, breite, format, refresh rate) als videomodus genommen...

Werbeanzeige