Original Post
Hello,
I have small problem with SlimDX form problem.
I would like to use SlimDX window renderer - SlimDX::Windows::RenderForm.
Once, object is created and form->Activate(); function is used, but result is .... nothing... windows is not visible.
Message loop is working ok.
Can anyone help me how can I view the correct SlinDX rendering window ?
Many thanks
Jerry
[color="#0000ff"][color="#0000ff"]public [color="#0000ff"][color="#0000ff"]ref [color="#0000ff"][color="#0000ff"]class MySlimDX
{
[color="#0000ff"][color="#0000ff"]public:
[color="#0000ff"][color="#0000ff"] static SlimDX::Direct3D9::Device^ D3DDevice; [color="#008000"][color="#008000"]// Direct3D device.
[color="#0000ff"][color="#0000ff"]public:
MySlimDX()
{
SlimDX::Windows::MainLoop^ del = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Windows::MainLoop( MySlimDX::MyMainLoop );
SlimDX::Windows::RenderForm^ form = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Windows::RenderForm([color="#a31515"][color="#a31515"]"My first SlimDX");
form->Activate();
[color="#008000"][color="#008000"] // Create a new PresentParameters object and fill in the necessary fields.
SlimDX::Direct3D9::PresentParameters^ presentParams = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Direct3D9::PresentParameters();
[color="#008000"][color="#008000"] // Below are the required bare mininum, needed to initialize the D3D device.
presentParams->Windowed = [color="#0000ff"][color="#0000ff"]true;
presentParams->BackBufferHeight = 500;
presentParams->BackBufferWidth = 500;
presentParams->SwapEffect = SlimDX::Direct3D9::SwapEffect::Discard;
presentParams->DeviceWindowHandle = form->Handle;
[color="#008000"][color="#008000"] // Create the Direct3D device.
SlimDX::Direct3D9::Direct3D^ MS_direct3D = [color="#0000ff"][color="#0000ff"]gcnew Direct3D();
[color="#008000"][color="#008000"] // Create the SlimDX device.
D3DDevice = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Direct3D9::Device( MS_direct3D,0,SlimDX::Direct3D9::DeviceType::Hardware,form->Handle, CreateFlags::HardwareVertexProcessing,presentParams );
SlimDX::Windows::MessagePump::Run( [color="#0000ff"][color="#0000ff"]dynamic_cast(del) );
}
~MySlimDX()
{
}
[color="#0000ff"][color="#0000ff"]public: [color="#0000ff"][color="#0000ff"]static [color="#0000ff"][color="#0000ff"]void MyMainLoop()
{
[color="#008000"][color="#008000"] Console::WriteLine([color="#a31515"][color="#a31515"]"SlimDX loop OK");
// Clear the backbuffer to a black color.
D3DDevice->Clear( SlimDX::Direct3D9::ClearFlags::Target, Color::Blue.ToArgb(), 1.0f, 0);
[color="#008000"][color="#008000"] // Begin the scene.
D3DDevice->BeginScene();
[color="#008000"][color="#008000"] // TODO : Perform some scene rendering.
[color="#008000"][color="#008000"] // End the scene.
D3DDevice->EndScene();
[color="#008000"][color="#008000"] // Present the backbuffer contents to the screen.
D3DDevice->Present();
}[color="#008000"][color="#008000"]//
};[color="#008000"][color="#008000"]// public ref class MySlimDX
I have small problem with SlimDX form problem.
I would like to use SlimDX window renderer - SlimDX::Windows::RenderForm.
Once, object is created and form->Activate(); function is used, but result is .... nothing... windows is not visible.
Message loop is working ok.
Can anyone help me how can I view the correct SlinDX rendering window ?
Many thanks
Jerry
[color="#0000ff"][color="#0000ff"]public [color="#0000ff"][color="#0000ff"]ref [color="#0000ff"][color="#0000ff"]class MySlimDX
{
[color="#0000ff"][color="#0000ff"]public:
[color="#0000ff"][color="#0000ff"] static SlimDX::Direct3D9::Device^ D3DDevice; [color="#008000"][color="#008000"]// Direct3D device.
[color="#0000ff"][color="#0000ff"]public:
MySlimDX()
{
SlimDX::Windows::MainLoop^ del = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Windows::MainLoop( MySlimDX::MyMainLoop );
SlimDX::Windows::RenderForm^ form = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Windows::RenderForm([color="#a31515"][color="#a31515"]"My first SlimDX");
form->Activate();
[color="#008000"][color="#008000"] // Create a new PresentParameters object and fill in the necessary fields.
SlimDX::Direct3D9::PresentParameters^ presentParams = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Direct3D9::PresentParameters();
[color="#008000"][color="#008000"] // Below are the required bare mininum, needed to initialize the D3D device.
presentParams->Windowed = [color="#0000ff"][color="#0000ff"]true;
presentParams->BackBufferHeight = 500;
presentParams->BackBufferWidth = 500;
presentParams->SwapEffect = SlimDX::Direct3D9::SwapEffect::Discard;
presentParams->DeviceWindowHandle = form->Handle;
[color="#008000"][color="#008000"] // Create the Direct3D device.
SlimDX::Direct3D9::Direct3D^ MS_direct3D = [color="#0000ff"][color="#0000ff"]gcnew Direct3D();
[color="#008000"][color="#008000"] // Create the SlimDX device.
D3DDevice = [color="#0000ff"][color="#0000ff"]gcnew SlimDX::Direct3D9::Device( MS_direct3D,0,SlimDX::Direct3D9::DeviceType::Hardware,form->Handle, CreateFlags::HardwareVertexProcessing,presentParams );
SlimDX::Windows::MessagePump::Run( [color="#0000ff"][color="#0000ff"]dynamic_cast
}
~MySlimDX()
{
}
[color="#0000ff"][color="#0000ff"]public: [color="#0000ff"][color="#0000ff"]static [color="#0000ff"][color="#0000ff"]void MyMainLoop()
{
[color="#008000"][color="#008000"] Console::WriteLine([color="#a31515"][color="#a31515"]"SlimDX loop OK");
// Clear the backbuffer to a black color.
D3DDevice->Clear( SlimDX::Direct3D9::ClearFlags::Target, Color::Blue.ToArgb(), 1.0f, 0);
[color="#008000"][color="#008000"] // Begin the scene.
D3DDevice->BeginScene();
[color="#008000"][color="#008000"] // TODO : Perform some scene rendering.
[color="#008000"][color="#008000"] // End the scene.
D3DDevice->EndScene();
[color="#008000"][color="#008000"] // Present the backbuffer contents to the screen.
D3DDevice->Present();
}[color="#008000"][color="#008000"]//
};[color="#008000"][color="#008000"]// public ref class MySlimDX