Ich habe darüber nachgedacht, eine kleine Engine zu entwickeln, um nicht nur kleine experimentelle Spiele zu entwickeln, sondern auch als Basis zum Testen verschiedener Rendering-Techniken und ähnlicher Dinge zu dienen. Im Moment habe ich viel darüber nachgedacht, wie man mit Texturen umgeht und bin über Megatexturen gestolpert, aber das ist etwas rätselhaft. Es wird viel darüber geredet, dass es besser ist als der herkömmliche Ansatz, ein paar Texturen zu haben und sie nach Bedarf zu laden. Aber wie vermeidet Megatexture dies? Stücke davon, anstatt jede Textur einzeln zu laden, aber wie bietet das eine bessere Leistung, und ist das nicht nur eine andere Form der Bearbeitung?
Wie können wir eine solche Textur in einem Shader abtasten, einen Teil davon in den Speicher streamen und dann daran arbeiten? Ich habe die neuesten Videos von Rage gesehen und die Textur sieht toll aus, aber ist das nur das Ergebnis großartiger Künstler oder kommt die Technik ins Spiel?
Zusammenfassend lässt sich sagen, wie es funktioniert, warum es großartig ist und wie ich etwas Ähnliches tun könnte.
Sie können sich Megatexture als eine Art "Streaming" -Textur vorstellen. Ein massives, vollständig detailliertes Texturbild (einfach ausgedrückt), das als Abschnitte davon eingelesen wird, muss angezeigt werden. Ich bin mir sicher, dass noch viel mehr dahinter steckt, wie zum Beispiel LOD / Mipmapping, Laden und Ressourcenmanagement.
Wikipedia hat einen Artikel darüber.
quelle