|
@@ -39,22 +39,20 @@ HRESULT CreateDeviceD3D(HWND hWnd)
|
|
|
{
|
|
|
// Setup swap chain
|
|
|
DXGI_SWAP_CHAIN_DESC sd;
|
|
|
- {
|
|
|
- ZeroMemory(&sd, sizeof(sd));
|
|
|
- sd.BufferCount = 2;
|
|
|
- sd.BufferDesc.Width = 0;
|
|
|
- sd.BufferDesc.Height = 0;
|
|
|
- sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
|
|
- sd.BufferDesc.RefreshRate.Numerator = 60;
|
|
|
- sd.BufferDesc.RefreshRate.Denominator = 1;
|
|
|
- sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
|
|
|
- sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
|
|
|
- sd.OutputWindow = hWnd;
|
|
|
- sd.SampleDesc.Count = 1;
|
|
|
- sd.SampleDesc.Quality = 0;
|
|
|
- sd.Windowed = TRUE;
|
|
|
- sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
|
|
- }
|
|
|
+ ZeroMemory(&sd, sizeof(sd));
|
|
|
+ sd.BufferCount = 2;
|
|
|
+ sd.BufferDesc.Width = 0;
|
|
|
+ sd.BufferDesc.Height = 0;
|
|
|
+ sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
|
|
+ sd.BufferDesc.RefreshRate.Numerator = 60;
|
|
|
+ sd.BufferDesc.RefreshRate.Denominator = 1;
|
|
|
+ sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
|
|
|
+ sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
|
|
|
+ sd.OutputWindow = hWnd;
|
|
|
+ sd.SampleDesc.Count = 1;
|
|
|
+ sd.SampleDesc.Quality = 0;
|
|
|
+ sd.Windowed = TRUE;
|
|
|
+ sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
|
|
|
|
|
UINT createDeviceFlags = 0;
|
|
|
//createDeviceFlags |= D3D10_CREATE_DEVICE_DEBUG;
|
|
@@ -125,8 +123,8 @@ int main(int, char**)
|
|
|
ImGui_ImplDX10_Init(hwnd, g_pd3dDevice);
|
|
|
|
|
|
// Setup style
|
|
|
- ImGui::StyleColorsClassic();
|
|
|
- //ImGui::StyleColorsDark();
|
|
|
+ ImGui::StyleColorsDark();
|
|
|
+ //ImGui::StyleColorsClassic();
|
|
|
|
|
|
// Load Fonts
|
|
|
// - If no fonts are loaded, dear imgui will use the default font. You can also load multiple fonts and use ImGui::PushFont()/PopFont() to select them.
|
|
@@ -169,25 +167,33 @@ int main(int, char**)
|
|
|
// Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets automatically appears in a window called "Debug".
|
|
|
{
|
|
|
static float f = 0.0f;
|
|
|
- ImGui::Text("Hello, world!"); // Some text (you can use a format string too)
|
|
|
- ImGui::SliderFloat("float", &f, 0.0f, 1.0f); // Edit 1 float as a slider from 0.0f to 1.0f
|
|
|
- ImGui::ColorEdit3("clear color", (float*)&clear_color); // Edit 3 floats as a color
|
|
|
- if (ImGui::Button("Demo Window")) // Use buttons to toggle our bools. We could use Checkbox() as well.
|
|
|
- show_demo_window ^= 1;
|
|
|
- if (ImGui::Button("Another Window"))
|
|
|
- show_another_window ^= 1;
|
|
|
+ static int counter = 0;
|
|
|
+ ImGui::Text("Hello, world!"); // Display some text (you can use a format string too)
|
|
|
+ ImGui::SliderFloat("float", &f, 0.0f, 1.0f); // Edit 1 float using a slider from 0.0f to 1.0f
|
|
|
+ ImGui::ColorEdit3("clear color", (float*)&clear_color); // Edit 3 floats representing a color
|
|
|
+
|
|
|
+ ImGui::Checkbox("Demo Window", &show_demo_window); // Edit bools storing our windows open/close state
|
|
|
+ ImGui::Checkbox("Another Window", &show_another_window);
|
|
|
+
|
|
|
+ if (ImGui::Button("Button")) // Buttons return true when clicked (NB: most widgets return true when edited/activated)
|
|
|
+ counter++;
|
|
|
+ ImGui::SameLine();
|
|
|
+ ImGui::Text("counter = %d", counter);
|
|
|
+
|
|
|
ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate);
|
|
|
}
|
|
|
|
|
|
- // 2. Show another simple window. In most cases you will use an explicit Begin/End pair to name the window.
|
|
|
+ // 2. Show another simple window. In most cases you will use an explicit Begin/End pair to name your windows.
|
|
|
if (show_another_window)
|
|
|
{
|
|
|
ImGui::Begin("Another Window", &show_another_window);
|
|
|
ImGui::Text("Hello from another window!");
|
|
|
+ if (ImGui::Button("Close Me"))
|
|
|
+ show_another_window = false;
|
|
|
ImGui::End();
|
|
|
}
|
|
|
|
|
|
- // 3. Show the ImGui demo window. Most of the sample code is in ImGui::ShowDemoWindow().
|
|
|
+ // 3. Show the ImGui demo window. Most of the sample code is in ImGui::ShowDemoWindow(). Read its code to learn more about Dear ImGui!
|
|
|
if (show_demo_window)
|
|
|
{
|
|
|
ImGui::SetNextWindowPos(ImVec2(650, 20), ImGuiCond_FirstUseEver); // Normally user code doesn't need/want to call this because positions are saved in .ini file anyway. Here we just want to make the demo initial state a bit more friendly!
|