AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DirectDraw ohne Vollbild/Bild direct auf Graka ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

DirectDraw ohne Vollbild/Bild direct auf Graka ausgeben

Ein Thema von SirThornberry · begonnen am 7. Sep 2006 · letzter Beitrag vom 9. Sep 2006
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

DirectDraw ohne Vollbild/Bild direct auf Graka ausgeben

  Alt 7. Sep 2006, 21:40
Ich muss mehrere Bilder in relativ kurzer Zeit auf dem Bildschirm ausgeben. Bisher hab ich das mit BitBlt gemacht. Allerdings steigt die Prozessorauslastung dabei stark an.
Also dachte ich mir ich zeischne direkt auf die Grafikkarte (müsste ja irgendwie gehen?)
Schließlich hab ich dann auch ein Tutoral auf unter
http://www.dsdt.info/tutorials/direct3d/?page=2
Allerdings wird bei dem Beispiel sofort bei Programmstart in den Vollbildmodus geschaltet. Gibt es eine Möglichkeit direkt auf die Graka zu "malen" ohne in einen Vollbildmodus zu wechseln? Wenn ja: Wie?

Wenn ich wie im Tutorial beschrieben den Fenstermodus nutze sehe ich überhaupt nix, so als hätte ich gar nix mit Direct3D etc. gemacht.

Mein Ziel ist es ein Bitmap irgendwie direkt auf die Grafikkarte zu schreiben - nur Wie
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.199 Beiträge
 
Delphi 12 Athens
 
#2

Re: DirectDraw ohne Vollbild/Bild direct auf Graka ausgeben

  Alt 8. Sep 2006, 12:22
Such mal andere Direct3D Beispiele.
Also mehr Allgemeinere, denn möglich ist es schon dieses nur in einen kleinen Bereich auszugeben.

Kenn mich damit ja nicht aus, aber kombinieren sollten die sich bestimmt lassen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#3

Re: DirectDraw ohne Vollbild/Bild direct auf Graka ausgeben

  Alt 8. Sep 2006, 12:57
Ja, es ist natuerlich moeglich, die Ausgabe eines Devices nur auf einen bestimmten Teil des Bildschirms zu beschraenken. Dies wird ueber die Eigenschaft von "Windowed" bei den PresentationParameters angegeben.
Ich hab zwar nicht den Source aus dem Tutorial genommen, aber das sollte eigentlich das gleiche sein, und funktioniert bei mir:
Delphi-Quellcode:
//initialisieren
var
  PresentParams: TD3DPresentParameters;
  dm: TD3DDisplayMode;
begin
  D3D := Direct3DCreate8(D3D_SDK_VERSION);
  ZeroMemory(@PresentParams, SizeOf(PresentParams));

  D3D.GetAdapterDisplayMode(0, dm);
  with PresentParams do
  begin
    BackBufferFormat := dm.Format;
    SwapEffect := D3DSWAPEFFECT_DISCARD;
    Windowed := true;
  end;

  D3D.CreateDevice(0, D3DDEVTYPE_HAL, {panel1.}Handle, D3DCREATE_SOFTWARE_VERTEXPROCESSING, PresentParams, Device);

//rendern:
Device.Clear(0, nil, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,255), 1.0, 0);
Device.Present(nil, nil, 0, nil);
Im Fall: Lass dir mal ausgeben, was [msdn:1f1459d3a1="Device.Present"]Present[/msdn:1f1459d3a1] beim Aufruf zurueckgibt. Wenn gar nichts rausgeschrieben wird, dann ist IMO dort der erste Ansatz zur Fehlersuche.

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: DirectDraw ohne Vollbild/Bild direct auf Graka ausgeben

  Alt 9. Sep 2006, 16:29
danke es funzt
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz