Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de ::  WinAPI ::  VMWare und 3d Grafikprogrammierung von Marius Apetri
Antwort schreiben
Benutzername:
Titel:
Nachrichtentext:
  :)  :D  ;)  :(  :p  :mad:  :rolleyes:  :eek:  :confused:  :cool:  :o)  :leak:  :live:  :die:  :idea:  :arrow:  :warning: 
                             
                         
         
           
                             
                             
                             
             


BBCode in diesem Beitrag deaktivieren [BBCode]
Smilies in diesem Beitrag deaktivieren
VMWare und 3d Grafikprogrammierung von Marius Apetri and 302128
     


Themen-Überblick 
(Aktualisieren)
Autor Nachricht
unbekannter
22:21:57 13.04.2012   Titel:   Zitieren

Das ganze läuft danach nicht wirklich gut.
Ich habe mich entschieden, die Beispiele jeweils nach QT zu protieren...
Ein kleines "dirty" Rahmenprogramm arbeitet hier für mich besser, als zu versuchen directx in der VM ans rennen zu bekommen.

Mir gehts ja nur um die 3D mathe... nicht um direktx

Danke nochmals fuer die Hilfe...

>Das Problem dabei ist aber nicht der VMware Treiber, sondern das Programm, das >sich auf etwas verlässt, was DirectDraw nicht garantiert.

Die Beispiele in diesem Buch sind teilweise schon fragwürdig...

Gruss R.
Unbekannt
08:00:19 13.04.2012   Titel:   Zitieren

Vielen Dank für diese Antwort.
Sie ist nachvollziehbar für mich, obwohl ich ein Anfänger in Sachen DirectDraw bin.

Gruss R.
hustbaer
03:25:17 13.04.2012   Titel:   Zitieren

DirectDraw garantiert dir wenn ich mich recht erinnere nicht, dass das was du von Lock() bekommst, ein direkter Zeiger auf die Video-Surface ist.
Heisst: es kann sein dass Lock() die Daten von der Grafikkarte in einen Puffer im Speicher kopiert, und dir einen Zeiger auf diesen Puffer gibt.

Erst bei Unlock() werden die Daten vom Puffer wieder zurück auf die Grafikkarte kopiert.

Heisst also weiter: wenn du willst dass Änderungen sichtbar werden, musst du Unlock() aufrufen. Also in dem Beispiel die Funktion release_screen_pointer().


ps: Lock() *darf* natürlich einen Zeiger auf die eigentliche Video-Surface zurückgeben. Daher funktioniert es auch auf nem "echten" Windows XP. Der VMware Garfikkarten-Treiber macht es aber anscheinend anders, daher funktioniert es dort nicht. Das Problem dabei ist aber nicht der VMware Treiber, sondern das Programm, das sich auf etwas verlässt, was DirectDraw nicht garantiert.
Unbekannt
20:55:12 12.04.2012   Titel:   Zitieren

Scheinbar wird das direkte Schreiben in den Videospeicher von der VMWare Software nicht erkannt.

Gibt es den eine API, wo ich ein Byte via dieser Funktion in den Videospeicher schreiben kann. Das wäre zwar langsamer, könnte dann aber für die Darstellung in der VMware förderlich sein.

Gruss R.
Unbekannt
21:25:15 11.04.2012   Titel:   VMWare und 3d Grafikprogrammierung von Marius Apetri Zitieren

Hallo Zusammen,

ich habe mir das oben genannte Buch gekauft und bin derzeit an den Beispielen angekommen.

Wenn ich mein Beispielprogramm unter einer realen Windows XP Maschine laufen lasse, sehe ich den Bildschirmaufbau korrekt.
(Z.B. langes Darstellen von Pixeln)

Lasse ich das gleiche Programm unter Windows XP in einer VM-Ware laufen, so wird der Bildschirm nicht ständig neu gezeichnet.
Bei dem Beenden des Programms wird kurz der korrekt letzte Zustand des Bildschirm dargestellt und dann beendet (weil Taste gedrückt, ist also korrekt).

Das Programm dxdiag zeigt in der VMWare die korrekt Unterstützung von Direct X9 an. SDK ist installiert.

3D Acceerate 3D grafics ist angewählt und die VMWare Tools sind installiert.

Da ich eigentlich ein Linux-System betreibe, fahre ich Windows nur bei Bedarf in einer VM, da ich hier mehr Möglichkeiten habe.

Also Beispiel geht jede Programm aus dem Buch:
Z.B. http://www.c-plusplus.de/forum/264504

Hat jemand eine Idee, woran das liegen kann ?


Gruss R.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.