fix POSITION format (ImDrawVert::pos is 2D, not 4D)
the inputlayout incorrectly described the POSITION attribute as being
4D, while ImDrawVert::pos is 2D. This went unnoticed because the buffer
binding has a stride of sizeof(ImDrawVert) and the POSITION is treated
as a float2 in the vertex shader. If you switch POSITION to float4 in
the vertex shader (and actually use the z/w in the matrix
multiplication) then everything become wacky-looking since it's
interpreting the texture coordinates as z/w. On a similar note: It's
weird that the projection matrix takes z and w into consideration when
those don't exist in the shader due to positions being float2s.
1 parent a513228 commit 509ac33abe2f0e6a53a9ca7ec864b9bd7e5b36a4
@Nicolas Guillemot Nicolas Guillemot authored on 11 Oct 2015
Showing 1 changed file
View
examples/directx11_example/imgui_impl_dx11.cpp