← SEARCHABLE ARCHIVE
Mathematics · 2026-07-09

Mundo, Vista, Matriz de proyección

El proceso por el cual los vértices 3D se convierten en píxeles en la pantalla

INTERACTIVE READING MODE →

Los artículos escritos en este blog fueron creados con el objetivo de enseñar. Además, la información del artículo puede ser incorrecta, así que tenga cuidado.

Un objeto 3D pasa por las matrices Mundo, Vista y Proyección hasta que aparece como un píxel 2D en la pantalla.

Local Space
   ↓ World
World Space
   ↓ View
View Space
   ↓ Projection
Clip Space
   ↓ Perspective Divide
NDC
   ↓ Viewport
Screen

matriz mundial

Mueve los vértices del archivo del modelo a la posición, rotación y tamaño del mundo del juego. Incluso si varios actores usan la misma malla, cada actor tiene una matriz mundial diferente.

Ver matriz

En lugar de que la cámara vea todos los objetos del mundo, puedes pensar en el mundo entero moviéndose y girando en la dirección opuesta a la cámara.

La cámara se mueve 10 a la derecha.
En Vista, mueve el mundo 10 hacia la izquierda.

La matriz de Vista está relacionada con la transformación inversa de la cámara Transform.

Matriz de proyección

La proyección en perspectiva hace que los objetos distantes parezcan más pequeños y convierte el espacio entre el plano cercano y el plano lejano en espacio de recorte.

XMMATRIX Projection = XMMatrixPerspectiveFovLH(
    XMConvertToRadians(60.0f),
    Width / static_cast<float>(Height),
    0.1f,
    1000.0f
);

Si el valor Cercano es demasiado pequeño y el valor Lejos es demasiado grande, la precisión del búfer de profundidad puede deteriorarse y puede ocurrir Lucha Z.

Combinado en Shader

float4 WorldPosition = mul(float4(Input.Position, 1.0f), World);
float4 ViewPosition = mul(WorldPosition, View);
Output.Position = mul(ViewPosition, Projection);

El orden de la matriz puede variar según la convención utilizada. Ubicación de la memoria en DirectXMath y HLSL,mulEl orden de los argumentos y el estado de transposición deben unificarse en una sola regla.