Aplikasi saya memiliki Mesin OpenGL di Jendela yang dihosting WPF. Saya membuat widget setengah transparan (sebagai objek Window) yang seharusnya menampilkan konten di atas jendela OpenGL. Terkadang saat aplikasi memproses data, latar belakang widget menjadi hitam (lihat gambar terlampir). Apakah ada yang tahu apa itu. Bagaimana cara mengatasi masalah ini.
Jendela transparan di atas OpenGL
comment
Sejauh yang saya tahu transparansi hanya berfungsi di antara item WPF, jadi saya terkejut terkadang ini berhasil untuk Anda.
- person Ignacio Soler Garcia   schedule 28.02.2012
comment
Jendela OpenGL tidak transparan tetapi jendela wpf transparan. Ini berfungsi dengan sangat baik tetapi menurut saya masalah ini muncul ketika rendering asinkron terjadi (menurut saya)
- person Adam D   schedule 28.02.2012
comment
Sejauh yang saya tahu jendela WPF hanya transparan terhadap jendela WPF lainnya. Anda tidak dapat menempatkan kontrol transparan WPF di atas kontrol Windows Forms dan mengharapkannya berfungsi.
- person Ignacio Soler Garcia   schedule 28.02.2012
comment
Lihat ini: khason.net/blog/
- person Ignacio Soler Garcia   schedule 28.02.2012
comment
Ada postingan menarik di sini, mungkin itu yang Anda cari.
- person karlphillip   schedule 19.03.2012
Jawaban (2)
Karena Windows Vista mendukung flag PIXELFORMATDESCRIPTOR baru: PFD_SUPPORT_COMPOSITION
. Jika tanda ini disetel, konteks OpenGL yang dibuat akan diintegrasikan ke dalam sistem komposisi desktop:
http://msdn.microsoft.com/en-us/library/cc231189(v=prot.10).aspx
person
datenwolf
schedule
28.02.2012
Itu tidak dijamin berhasil sama sekali. Jendela OpenGL tidak digabungkan dengan transparansi WPF, baik di bawah maupun di atas. Kadang-kadang mungkin berhasil, tetapi tidak harus berhasil.
person
Nicol Bolas
schedule
28.02.2012
Pengomposisian dapat diaktifkan untuk pengomposisian. Hal ini dilakukan melalui flag PIXELFORMATDESCRIPTOR baru.
- person datenwolf; 28.02.2012
Pertama, itu hanya gabungan dengan hal-hal di belakangnya, bukan di atasnya. Kedua, saya tidak melihat padanannya di wglChoosePixelFormatARB, yaitu tempat kebanyakan orang mendapatkan format pikselnya. Jika tidak, Anda tidak dapat menggunakan framebuffer sRGB atau multisampling.
- person Nicol Bolas; 28.02.2012
@datenwolf: Dan ketiga, tidak ada jaminan bahwa PFD_SUPPORT_COMPOSITION tidak akan mematikan akselerasi perangkat keras atau memaksa penggunaan driver Microsoft GL. Tidak ada jaminan bahwa hal itu akan terjadi, tetapi saya ingin informasi lebih lanjut sebelum mencoba melakukan perubahan tersebut.
- person Nicol Bolas; 28.02.2012