Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » DirectX » Spielbildschirm aufteilen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.10.2009, 13:07 Uhr
jami01



Hallo,

ich schreibe an einer Spiele Engine für ein Rollenspiel. Diese funktiioniert inzwischen sehr gut. Bin nun daran den Level-Manager zu implementieren, der Geometriedaten der Räumlichkeiten und Außen-Areale festhält und dem Renderer übergibt. Ziel wird es sein, ein Oldschool RPG wie Ambermoon oder DSA-Nordlandtrilogie zu schaffen. Soviel zum intro
Nun habe ich aber eine Frage, die mich schon seit längerem beschäftigt. In DirectX oder OpenGL legt man den sichtbaren Bereich über den Viewport fest. Nun möchte ich neben der Welt 3D Grafik eine Leiste einblenden, welche die Chars,Spezielle Gegenstände, etc. enthält.
Bei einer Auflösung von 1024x768 beträgt die Spielegrafik 768x768 und die Leiste 256x768.
Wenn ich den Bildschirm auf 1024x768 belasse und den Viewport auf 768x768 einstelle, dann kann ich natürlcih ausserhalb 768x768 nicht rendern. War jemand vielleicht mit dem Problem bereits konfrontiert? Ich habe schon das SDK nach einer Möglichkeit durchsucht leider ohne Erfolg. Die Bisherige Lösung war dass ich einfach die Leiste direkt in das Bild gerendert habe. Dadurch bleibt aber ein Teil der Spieleumgebung verdeckt....
Für einen Ansatz wäre ich dankbar.

Gruss
Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.10.2009, 18:38 Uhr
~toxic
Gast


hi, du musst einfach nur vor dem rendern der game-grafik der viewport auf 768x768 setzen,
und bevor du deine "seitenleiste" renderst setzt du den viewport eben auf 256x768. fertig.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.10.2009, 20:35 Uhr
jami01



Hallo ~toxic,

ersteinmal vielen Dank für die Antwort. So scheint es auf jeden Fall zu funktionieren. Die Leiste ist zwar noch nicht sichtbar, allerdings bekomme ich zumindest die Spielegrafik über den zweiten Port ausgegeben. Der Buffer wird allerdings im ersten Port nicht richtig geflushed, denke es ist aber irgendwo ein Bug. Sag mal renderst Du beide Viewports innerhalb eines BeginScene/EndScene oder sollte man für den zweiten Port ein weiteren Renderkontext aufmachen?

Danke.

Gruss
Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.10.2009, 22:51 Uhr
~toxic
Gast


hi,
habe bisher nur mit opengl gearbeitet, denke aber das es mit directdraw ähnlich ist und der buffer in "endscene" geflusht wird.
also eigentlich nur einen rendercontext:

Code:
beginscene
setviewport1
    draw, draw, draw ...
setviewport2
    draw, draw, draw ...
endscene

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ DirectX ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: