mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Backends: DX10/DX11: Minor tweaks.
This commit is contained in:
		@@ -342,29 +342,29 @@ bool    ImGui_ImplDX10_CreateDeviceObjects()
 | 
			
		||||
        static const char* vertexShader =
 | 
			
		||||
            "cbuffer vertexBuffer : register(b0) \
 | 
			
		||||
            {\
 | 
			
		||||
            float4x4 ProjectionMatrix; \
 | 
			
		||||
              float4x4 ProjectionMatrix; \
 | 
			
		||||
            };\
 | 
			
		||||
            struct VS_INPUT\
 | 
			
		||||
            {\
 | 
			
		||||
            float2 pos : POSITION;\
 | 
			
		||||
            float4 col : COLOR0;\
 | 
			
		||||
            float2 uv  : TEXCOORD0;\
 | 
			
		||||
              float2 pos : POSITION;\
 | 
			
		||||
              float4 col : COLOR0;\
 | 
			
		||||
              float2 uv  : TEXCOORD0;\
 | 
			
		||||
            };\
 | 
			
		||||
            \
 | 
			
		||||
            struct PS_INPUT\
 | 
			
		||||
            {\
 | 
			
		||||
            float4 pos : SV_POSITION;\
 | 
			
		||||
            float4 col : COLOR0;\
 | 
			
		||||
            float2 uv  : TEXCOORD0;\
 | 
			
		||||
              float4 pos : SV_POSITION;\
 | 
			
		||||
              float4 col : COLOR0;\
 | 
			
		||||
              float2 uv  : TEXCOORD0;\
 | 
			
		||||
            };\
 | 
			
		||||
            \
 | 
			
		||||
            PS_INPUT main(VS_INPUT input)\
 | 
			
		||||
            {\
 | 
			
		||||
            PS_INPUT output;\
 | 
			
		||||
            output.pos = mul( ProjectionMatrix, float4(input.pos.xy, 0.f, 1.f));\
 | 
			
		||||
            output.col = input.col;\
 | 
			
		||||
            output.uv  = input.uv;\
 | 
			
		||||
            return output;\
 | 
			
		||||
              PS_INPUT output;\
 | 
			
		||||
              output.pos = mul( ProjectionMatrix, float4(input.pos.xy, 0.f, 1.f));\
 | 
			
		||||
              output.col = input.col;\
 | 
			
		||||
              output.uv  = input.uv;\
 | 
			
		||||
              return output;\
 | 
			
		||||
            }";
 | 
			
		||||
 | 
			
		||||
        ID3DBlob* vertexShaderBlob;
 | 
			
		||||
@@ -379,9 +379,9 @@ bool    ImGui_ImplDX10_CreateDeviceObjects()
 | 
			
		||||
        // Create the input layout
 | 
			
		||||
        D3D10_INPUT_ELEMENT_DESC local_layout[] =
 | 
			
		||||
        {
 | 
			
		||||
            { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (size_t)(&((ImDrawVert*)0)->pos), D3D10_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (size_t)(&((ImDrawVert*)0)->uv),  D3D10_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "COLOR",    0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (size_t)(&((ImDrawVert*)0)->col), D3D10_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (UINT)IM_OFFSETOF(ImDrawVert, pos), D3D10_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (UINT)IM_OFFSETOF(ImDrawVert, uv),  D3D10_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "COLOR",    0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (UINT)IM_OFFSETOF(ImDrawVert, col), D3D10_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
        };
 | 
			
		||||
        if (g_pd3dDevice->CreateInputLayout(local_layout, 3, vertexShaderBlob->GetBufferPointer(), vertexShaderBlob->GetBufferSize(), &g_pInputLayout) != S_OK)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -354,29 +354,29 @@ bool    ImGui_ImplDX11_CreateDeviceObjects()
 | 
			
		||||
        static const char* vertexShader =
 | 
			
		||||
            "cbuffer vertexBuffer : register(b0) \
 | 
			
		||||
            {\
 | 
			
		||||
            float4x4 ProjectionMatrix; \
 | 
			
		||||
              float4x4 ProjectionMatrix; \
 | 
			
		||||
            };\
 | 
			
		||||
            struct VS_INPUT\
 | 
			
		||||
            {\
 | 
			
		||||
            float2 pos : POSITION;\
 | 
			
		||||
            float4 col : COLOR0;\
 | 
			
		||||
            float2 uv  : TEXCOORD0;\
 | 
			
		||||
              float2 pos : POSITION;\
 | 
			
		||||
              float4 col : COLOR0;\
 | 
			
		||||
              float2 uv  : TEXCOORD0;\
 | 
			
		||||
            };\
 | 
			
		||||
            \
 | 
			
		||||
            struct PS_INPUT\
 | 
			
		||||
            {\
 | 
			
		||||
            float4 pos : SV_POSITION;\
 | 
			
		||||
            float4 col : COLOR0;\
 | 
			
		||||
            float2 uv  : TEXCOORD0;\
 | 
			
		||||
              float4 pos : SV_POSITION;\
 | 
			
		||||
              float4 col : COLOR0;\
 | 
			
		||||
              float2 uv  : TEXCOORD0;\
 | 
			
		||||
            };\
 | 
			
		||||
            \
 | 
			
		||||
            PS_INPUT main(VS_INPUT input)\
 | 
			
		||||
            {\
 | 
			
		||||
            PS_INPUT output;\
 | 
			
		||||
            output.pos = mul( ProjectionMatrix, float4(input.pos.xy, 0.f, 1.f));\
 | 
			
		||||
            output.col = input.col;\
 | 
			
		||||
            output.uv  = input.uv;\
 | 
			
		||||
            return output;\
 | 
			
		||||
              PS_INPUT output;\
 | 
			
		||||
              output.pos = mul( ProjectionMatrix, float4(input.pos.xy, 0.f, 1.f));\
 | 
			
		||||
              output.col = input.col;\
 | 
			
		||||
              output.uv  = input.uv;\
 | 
			
		||||
              return output;\
 | 
			
		||||
            }";
 | 
			
		||||
 | 
			
		||||
        ID3DBlob* vertexShaderBlob;
 | 
			
		||||
@@ -391,9 +391,9 @@ bool    ImGui_ImplDX11_CreateDeviceObjects()
 | 
			
		||||
        // Create the input layout
 | 
			
		||||
        D3D11_INPUT_ELEMENT_DESC local_layout[] =
 | 
			
		||||
        {
 | 
			
		||||
            { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (size_t)(&((ImDrawVert*)0)->pos), D3D11_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (size_t)(&((ImDrawVert*)0)->uv),  D3D11_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "COLOR",    0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (size_t)(&((ImDrawVert*)0)->col), D3D11_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (UINT)IM_OFFSETOF(ImDrawVert, pos), D3D11_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (UINT)IM_OFFSETOF(ImDrawVert, uv),  D3D11_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
            { "COLOR",    0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (UINT)IM_OFFSETOF(ImDrawVert, col), D3D11_INPUT_PER_VERTEX_DATA, 0 },
 | 
			
		||||
        };
 | 
			
		||||
        if (g_pd3dDevice->CreateInputLayout(local_layout, 3, vertexShaderBlob->GetBufferPointer(), vertexShaderBlob->GetBufferSize(), &g_pInputLayout) != S_OK)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -585,14 +585,11 @@ bool    ImGui_ImplDX12_CreateDeviceObjects()
 | 
			
		||||
        desc.BackFace = desc.FrontFace;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (g_pd3dDevice->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&g_pPipelineState)) != S_OK)
 | 
			
		||||
    {
 | 
			
		||||
        vertexShaderBlob->Release();
 | 
			
		||||
        pixelShaderBlob->Release();
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    HRESULT result_pipeline_state = g_pd3dDevice->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&g_pPipelineState));
 | 
			
		||||
    vertexShaderBlob->Release();
 | 
			
		||||
    pixelShaderBlob->Release();
 | 
			
		||||
    if (result_pipeline_state != S_OK)
 | 
			
		||||
        return false;
 | 
			
		||||
 | 
			
		||||
    ImGui_ImplDX12_CreateFontsTexture();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user