0
私は、OpenGLをOpenGLにレンダリングするためのコントロールを作成するために、SharpGLをWPFで使用するためのチュートリアルに続きました。優れて、すべて正常に動作します。SharpGLとWPFを使用して透明な背景を作成する
しかし、SharpGL WPFコントロールの背後にあるビデオをレンダリングするので、レンダリングの背景が透明になるようにする必要があります。これについてどうすればいいですか?
コード:
<Window x:Class="MyProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sharpGL="clr-namespace:SharpGL.WPF;assembly=SharpGL.WPF"
Title="MainWindow" Height="600" Width="800" Loaded="Window_Loaded">
<Canvas Height="580" Width="780" Name="CentreCanvas">
<Image Canvas.Left="0" Canvas.Top="0" Height="565" Name="imageVideoControl" Stretch="Fill" Width="780" />
<Image Canvas.Left="580" Canvas.Top="0" Height="150" Name="imageDepthControl" Stretch="Fill" Width="200" />
<sharpGL:OpenGLControl OpenGLDraw="OpenGLControl_OpenGLDraw" Height="565" Width="780"></sharpGL:OpenGLControl>
. . .
</Canvas>
</Window>
private void OpenGLControl_OpenGLDraw(object sender, OpenGLEventArgs args)
{
// Get the OpenGL instance being pushed to us.
gl = args.OpenGL;
// Clear the colour and depth buffers.
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
// Reset the modelview matrix.
gl.LoadIdentity();
// Move the geometry into a fairly central position.
gl.Translate(1.5f, 0.0f, -6.0f);
// Draw a quad.
gl.Begin(OpenGL.GL_QUADS);
// Set colour to red.
gl.Color(1.0f, 0.0f, 0.0f);
// Draw some quad...
. . .
. . .
gl.End();
}
あなたの回答には、私のビデオ出力をOpenGLビューの背景にレンダリングする方法はありますか? – bobble14988
@ bobble14988:ビデオ画像を取得し、OpenGLにテクスチャとしてロードし、GLコマンドを使用して描画することができます。 –