Escalar mundo – proyección, vista o matriz separada?

Actualmente estoy escribiendo un progtwig simple de visualización de espacio en 3D. Las cosas se cargan en él desde un file XML simple, que contiene posiciones y tamaños de objects en el espacio, por lo que puedes poner básicamente cualquier número en el XML y te mostrará cómo se ven las cosas en 3D.

Mi problema es que cuando bash ver, por ejemplo, un sistema solar, usando numbers reales como lo que realmente están en el espacio (por ejemplo, distancia tierra-luna = 3.844e8 m), mis objects pierden su forma y las texturas se separan de las caras debido a flotación limitada precisión de position. Simplemente no puedo hacer que los usuarios escalen la escena ellos mismos, porque con 10 planetas o eso es demasiado trabajo, y algunas veces los cálculos son un poco más complejos.

Debido a esto, decidí agregar una opción que permitiría escalar toda la escena de forma automática.

Mi pregunta es bastante simple: si quiero escalar mundo / escena, ¿qué matriz debería usar? Matriz de proyección, matriz de vista o una matriz completamente nueva (por favor, no esta, me estoy quedando sin uniform s)?

Gracias.

Puede hacer que los objects aparezcan más pequeños o más grandes simplemente moviendo la camera más lejos o más cerca de ellos, por lo que tendrá que cambiar la matriz de visualización .

Sin embargo, dado que los numbers con los que está tratando son potencialmente grandes, asegúrese de corregir también la matriz de proyección para los valores del plano de recorte cercano y lejano.

Finalmente, tenga en count que las imágenes de astronomía a menudo se toman con un campo de visión muy pequeño. Esto también está configurado en la matriz de proyección .