From f4ea0c29cd3a978a294d45252b059567688934d4 Mon Sep 17 00:00:00 2001 From: spencer-lunarg Date: Tue, 3 Mar 2026 16:05:57 -0500 Subject: [PATCH] Add GLSL vs HLSL Matrix image --- .../high_level_shader_language_comparison.adoc | 9 +++++---- ..._level_shader_language_comparison_matrix.png | Bin 0 -> 33680 bytes 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 chapters/images/high_level_shader_language_comparison_matrix.png diff --git a/chapters/high_level_shader_language_comparison.adoc b/chapters/high_level_shader_language_comparison.adoc index d814022..38ce8c8 100644 --- a/chapters/high_level_shader_language_comparison.adoc +++ b/chapters/high_level_shader_language_comparison.adoc @@ -56,10 +56,11 @@ HLSL: float4x3 mat = (float4x3)(ubo.view); ---- -[NOTE] -==== -An important difference: Matrices in GLSL are column-major, while matrices in HLSL are row-major. This affects things like matrix construction. -==== +=== Matrix Layout + +It is important to be mindful that matrices in GLSL are column-major, while matrices in HLSL are row-major. This affects things like matrix construction. + +image::{images}high_level_shader_language_comparison_matrix.png[high_level_shader_language_comparison_matrix.png] == Implicit vk Namespace diff --git a/chapters/images/high_level_shader_language_comparison_matrix.png b/chapters/images/high_level_shader_language_comparison_matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..229faa279857e4b1b57bcd1a8a776fc3f1352a8d GIT binary patch literal 33680 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 literal 0 HcmV?d00001