projectToClipSpace method
Vector4
projectToClipSpace(
- 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;
}