[Log Pengembangan] Pembuatan Tekstur Berhasil!, Penyelesaian Curling Huruf dan Antrian Rendering!

19
  • Hari ini saya membuat render queue utama yang digunakan dalam sistem Material dan mesin game.

  • Ini memiliki antarmuka bernama ISurfaceMaterial, di mana Anda dapat mengatur shader, state rendering, atau nilai parameter shader.

  • Modelnya adalah model yang pernah saya gunakan di perusahaan tempat saya bekerja sebelumnya. Saya menggunakannya untuk pengujian. ㅋ

  • Saya juga membuat komponen SceneCamera.

  • Komponen kamera ini pada dasarnya memiliki dua mode: 'Mode Kamera Independen' dan 'Mode Kamera Anak'.

  • Mode Kamera Independen memiliki render queue dan juga fungsi Clear buffer.

  • Mode Kamera Anak akan bergantung pada Kamera Independen jika SceneActor digunakan sebagai node anak.

  • Dalam hal ini, tidak memiliki render queue dan tidak melakukan Clear buffer.

  • Jika nanti ada beberapa kamera, menambahkan fungsi yang memungkinkan setiap kamera mengisi data rendering dengan multi-thread akan sangat membantu untuk rendering multi-thread.

  • Seperti yang Anda lihat di bawah ini, saya merender beberapa model... sepertinya sekitar 3000 model. Dalam hal ini, saya telah memodifikasi agar objek di luar kamera tidak dirender dengan menambahkan frustum culling.

  • Dalam materi presentasi GDC dari pengembang yang mengembangkan mesin game Battlefield's Frostbite, disebutkan bahwa mereka menyelesaikan pekerjaan culling rendering layar hanya dengan SIMD frustum culling dan occlusion culling tanpa BVH culling khusus.

  • Oleh karena itu, meskipun occlusion culling belum ada, saya mengimplementasikan SIMD frustum culling sesuai dengan materi presentasi GDC tersebut.

  • Hasil tesnya sebagai berikut:

  • Ah.. hanya sekitar dua kali lebih cepat... Saya mengimplementasikannya menggunakan SSE, dan saya juga mengatur urutan memori dan tata letak agar sesuai dengan SIMD.

  • Hanya dua kali lebih cepat. Dokumennya mengatakan seharusnya 4-5 kali lebih cepat.. ㅎㅎ Mungkin karena masih banyak fitur yang kurang.

  • Atau mungkin desain kelas dan struktur data perlu dibuat lebih ramah cache dengan cara yang berurutan.

  • Saya rasa saya harus merapikan, mengoptimalkan kode sumber, dan menstabilkannya.

Terima kasih.

로그인한 회원만 댓글 등록이 가능합니다.

개발한당

KR | ID | EN
  • IDR
  • KOR
7.67 ▲ 0.01

2026.09.25 KEB 하나은행 고시회차 3705회

다가오는 한인 행사일정

  • 등록 된 일정이 없어요!