QT4 und DirectX

Alles rund um die Programmierung mit Qt
Antworten
diavo
Beiträge: 11
Registriert: 14. Oktober 2005 10:04

QT4 und DirectX

Beitrag von diavo »

Hallo,
gibt es eine Möglichkeit, mittels eines Direct3D Devices in ein QWidget zu malen? Ich habe alles fehlerfrei initialisiert. Auch das Zeichenn mittels Direct3D funktioniert, allerdings wird das von Direct3D Gerenderte immer von dem QWidget überzeichnet.
Ich habe die paintEvent Methode des QWidgets überschrieben um von dort aus den Renderer aufzurufen. Sonst mach ich nicht in dem paintEvent.
Was könnte das schief laufen? Eventuell QTs neue paintEngine mit automatischem Backbuffer?
MfG Steffen
Emperor_L0ser
Beiträge: 51
Registriert: 28. Juli 2005 12:26
Kontaktdaten:

Beitrag von Emperor_L0ser »

warum nimmst du qt dafür?

der gedanke von qt ist cross-plattform, wenn du nun dort directx einbindest, läufts nur noch auf windows....

versuche sdl (http://www.libsdl.org) das ist ebenfalls plattform unabhängig und steuert von sich aus directx unter windows an.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

oder besser gleich OpenGL. Das gibt es überall und wird auch von Qt unterstützt.
diavo
Beiträge: 11
Registriert: 14. Oktober 2005 10:04

Beitrag von diavo »

Die OpenGL Unterstützung von QT kostet aber extra. Außerdem soll meine App nur Windows laufen. Aber funktionieren sollte das doch trotzdem...?
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Kommt drauf an, welche Version du hast.
diavo
Beiträge: 11
Registriert: 14. Oktober 2005 10:04

Beitrag von diavo »

Desktop Light Edition...
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Achso, da hast du denn etwas den Zonk. Aber da haste du ja Support von Trolltech. Was sagen die denn dazu?
Shadow
Beiträge: 92
Registriert: 27. August 2005 18:15
Wohnort: Iserlohn
Kontaktdaten:

Beitrag von Shadow »

BartSimpson hat geschrieben:Achso, da hast du denn etwas den Zonk. Aber da haste du ja Support von Trolltech. Was sagen die denn dazu?
Ich empfehle OpenGL in Zusammenhang mit QT zu benutzen, da es direkt unterstützt wird und gleichermaßen plattformunabhängig ist, im Gegensatz zu DirectX.
(:?: Seit wann kostet das extra, wenn man bei QT die OpenGL Funktionen benutzt? Hab' ich ja noch nie gehört...du meinst sicherlich den Support von den Trolls).
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

nee. Wenn man die Komerzielle Version hat, ist Qt nur in der Qt Desktop verfügbar. Er scheint aber die eh fast unbrauchbare Qt Desktop Light Version zu nutzen.
diavo
Beiträge: 11
Registriert: 14. Oktober 2005 10:04

Beitrag von diavo »

Der Trolltech Supprt hat weitergeholfen:
Man muss die paintEngine Methode überschreiben und dort immer 0 zurückgeben. Außerdem wird das WA_PaintOnScreen Attribut benötigt.
Jetzt funktioniert es.
Antworten