mirror of
https://github.com/Drezil/imgui.git
synced 2025-02-19 23:42:42 +00:00
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.