AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DirectX Shared Surfaces

Ein Thema von SonnyBoyPro · begonnen am 24. Aug 2013 · letzter Beitrag vom 16. Jun 2015
Antwort Antwort
Seite 1 von 2  1 2   
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#1

DirectX Shared Surfaces

  Alt 24. Aug 2013, 09:48
Hallo zusammen,

bei MSDN gibts ein Beispiel für Shared Surfaces zwischen DX9 und DX10.1. Hat das zufällig schon jemand auf
Delphi / FPC übersetzt?

bg
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#2

AW: DirectX Shared Surfaces

  Alt 26. Aug 2013, 11:04
Hallo zusammen,

da bisher sehr viel Response war hab ich mich mal am WE hingesetzt und angefangen das Bsp auf Delphi umzucodieren. Die LIB ist zumindest mal mit den JSB Headern compilierbar. Sobald das Ding auch funktionstauglich ist meld ich mich

bg

PS: falls noch wer den Link auf die MSDN sucht:

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.055 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: DirectX Shared Surfaces

  Alt 27. Aug 2013, 10:01
Was hast du denn vor?

Ich muss auch alten DirectDraw-Code ins 21. Jahrhundert bringen, aber ich habe mich dafür von Delphi verabschiedet.
Man ist immer auf Header-Übersetzungen angewiesen und das nervt spätestens beim nächsten Minior-Update von DirectX.
Ich programmiere dafür lieber alles notwendige in C++ und stelle die für das Delphi-Programm notwendige Funktionalität als Interface-Objekt aus einer DLL zu Verfügung.
Mit den neuen Direct2D Device und Device Context Interfaces kann man auch direkt mit Direct3D11 Devices und DXGI Swap Chains arbeiten.

Kennst du den Wrapper von Kenny Kerr?
http://msdn.microsoft.com/en-us/magazine/dn201741.aspx

Damit geht das Programmieren von DirectX-Anwendungen sehr schnell.
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#4

AW: DirectX Shared Surfaces

  Alt 28. Aug 2013, 12:41
Möchte Videos, DVD's und DVB-S2 wiedergeben. Da ich aber DVD's nicht geschafft habe per DirectShow Filter auf eine eigene Komponente zu rendern bleibt wohl nur der umweg über VMR9 (bzw EVR) und damit DX9(Ex).
Da eben auch BDA zum Einsatz kommen soll wird wohl die nächste Zeit hier kein Weg an DirectShow und VMR/EVR vorbeigehen.

Da HUD's aber auch ne feine Sache sind, wäre das direkte Rendern der GUI (vorteilhaft natürlich Direct2D) auf die DX9 Surface vorteilhaft.
Ansonsten bleibt wohl nur der Weg über eine eigene DX10.1 Surface die dann vor die DX9 gelegt wird (da sich ja 9 und 10 parallel gemeinsam verwenden lassen sollten).

C++ einzusetzen wäre zwar ne Variante, ich bin aber gerne Sprachen-Clean . Auf alle Fälle kein .NET !!!

Ursprünglich wollte ich ORCA (aus der PL) direkt für die GUI einsetzen, wird aber hier dann wohl zumindest auf der untersten Ebene ein paar Anpassungen geben müssen (ORCA geht ja mit D2D).

bg
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.055 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: DirectX Shared Surfaces

  Alt 29. Aug 2013, 08:18
Da HUD's aber auch ne feine Sache sind, wäre das direkte Rendern der GUI (vorteilhaft natürlich Direct2D) auf die DX9 Surface vorteilhaft.
Ansonsten bleibt wohl nur der Weg über eine eigene DX10.1 Surface die dann vor die DX9 gelegt wird (da sich ja 9 und 10 parallel gemeinsam verwenden lassen sollten).
Mit diesen ganzen Multimediakram von DirectShow und MediaFoundation kenne ich mich auch nicht aus.
Direct 2D Version 1.1 ist relativ neu, gibt es denn überhaupt vernünftige Pascal-Header für deine Zwecke?

Ich hätte keine Lust und Zeit mir die Header selber zu stricken.

C++ einzusetzen wäre zwar ne Variante, ich bin aber gerne Sprachen-Clean . Auf alle Fälle kein .NET !!!
Das finde ich zu engstirnig!

Ich habe auch früher gedacht: "Puh, C++...ne, dass ist mir zu kompliziert, ich bleibe bei Delphi", aber damit schießt man sich immer selber ins Knie.
Da man ja eh am Ende C/C++-Funktionen und Interface-Objekte von DirectX nutzt, wäre es hier "cleaner" direkt in der gleichen Sprache zu programmieren.
Probiere mal den Header von Kenny Kerr aus, dass programmiert sich dann recht flüssig wie in Delphi / C#.
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#6

AW: DirectX Shared Surfaces

  Alt 29. Aug 2013, 08:43
inzwischen gefällt mir die Variante mit C++ vielleicht doch nicht so schlecht.
Da auch sämtliche MSDN Examples in C++ sind...

welche IDE verwendest Du?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.055 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: DirectX Shared Surfaces

  Alt 29. Aug 2013, 09:57
VisualStudio 2012
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#8

AW: DirectX Shared Surfaces

  Alt 2. Sep 2013, 14:17
Aktueller Zwischenstand:

VisualStudio 2012 installiert, Beispiele compiliert und funktionieren:
-DXGI Shared Surfaces (DX9 und DX11)
-DXGI D2D und DX10
-EVR Presenter Bsp von MSDN compiliert
-EVR Player compiliert.
Spielt Files ab, nur der der EVR Presenter stürtzt ab, irgendwie mag MediaFound kein xDiv ?!?

Soweit ich das momentan beurteilen kann ist das Thema DirectShow und DX11 alles andere als easy...

soweit ich das jetzt beurteilen kann:
- um DirectShow mit DX11 nutzen zu können braucht man Shared Surfaces
- für Shared Surfaces braucht man D3D9Ex.
- D3D9Ex funktioniert aber nur mit EVR


werd mir mal jetzt das EVR Presenter Example von MSDN genauer ansehen, falls da nichts brauchbares rauskommt
wird's wohl nur die Variante geben:
D3D9 mit VMR9 und die GUI per PNG's selber malen
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.055 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: DirectX Shared Surfaces

  Alt 2. Sep 2013, 15:21
In der MSDN steht ja auch viel alter Gammel drin.
Bin jetzt nicht so fit drin, aber soweit ich das verstanden habe, ist ja die Media Foundation der Ersatz für DirectShow:

Zitat:
Der erweiterte Videorenderer (EVR) ist eine Komponente, die Video auf dem Bildschirm des Benutzers anzeigt. Zwei Versionen des EVR sind vorhanden:
  • Die EVR-Mediensenke für Media Foundation-Anwendungen.
  • Der EVR-Filter für DirectShow-Anwendungen.
Kannst du dir nicht eine EVR Media Sink erstellen?
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#10

AW: DirectX Shared Surfaces

  Alt 2. Sep 2013, 16:53
hmm, MePo verwendet EVR
http://wiki.team-mediaportal.com/1_M...ering_Playback

soweit ich den MePo Code kenne ist aber alles DirectShow.

vielleicht liegts am Graph den die MS Beispiele bauen, muss ich noch checken.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:24 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