projectToClipSpace method

Vector4 projectToClipSpace(
  1. Vector3 worldPosition
)

İleri Seviye Verilen bir 3D dünya noktasını, kameranın açısına göre işleyip (-1 ile +1 arasında) Clip Space (Ekran Uzayı) koordinatına çevirir. 3. Adım olan Render Pipeline'da bu metodu CustomPainter'a veri yollamak için kullanacağız.

Implementation

Vector4 projectToClipSpace(Vector3 worldPosition) {
  // Önce noktayı Vector4'e çeviririz (w = 1.0 homojen koordinat)
  Vector4 clipSpacePos = Vector4(worldPosition.x, worldPosition.y, worldPosition.z, 1.0);

  // View matrisi ile çarpıp kameranın önüne getir
  clipSpacePos = getViewMatrix().transform(clipSpacePos);

  // Projection matrisi ile çarpıp 2D düzleme izdüşümünü al
  clipSpacePos = getProjectionMatrix().transform(clipSpacePos);

  return clipSpacePos;
}