Skip to content

Programmer-nosleep/sawit-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sawit Engine

Dokumentasi ini dirancang sebagai satu sumber terpusat untuk: setup, dependensi, build & run, serta tempat menaruh gambar/video dokumentasi. Anda bisa menambahkan screenshot atau video ke folder docs/images dan docs/videos lalu merujuknya dari file ini.

Ringkasan singkat:

  • Project C: opengl_sky | sawit-engine (target CMake)
  • Dependency utama yang disertakan: stb_image.h (header-only)
  • Engine menggunakan OpenGL (GLEW atau build via FetchContent) dan API bawaan OS; ada beberapa file Objective-C++ (.mm) untuk macOS.

Prasyarat (Prerequisites)

  • CMake >= 3.24
  • Compiler C: Visual Studio (MSVC) on Windows, or GCC/Clang (MinGW/Clang) on Windows; Xcode on macOS untuk build .mm Objective-C++ files.
  • GPU drivers dengan dukungan OpenGL
  • Git (opsional, untuk clone/update)

Catatan: stb_image.h sudah ada di repository; tidak perlu instalasi terpisah. GLEW akan dicari oleh CMake dan jika tidak ada, CMake akan men-download/build GLEW via FetchContent.


Build

Repo menyertakan CMakePresets.json. Gunakan preset sesuai platform dan konfigurasi:

Windows (MSVC):

cmake --preset windows-msvc-debug
cmake --build --preset windows-msvc-debug

Windows (GCC):

cmake --preset windows-gcc-debug
cmake --build --preset windows-gcc-debug

Windows (Clang):

cmake --preset windows-clang-debug
cmake --build --preset windows-clang-debug

Linux (WSL / native):

cmake --preset linux-debug
cmake --build --preset linux-debug

macOS:

cmake --preset macos-debug
cmake --build --preset macos-debug

Ganti debug dengan release pada nama preset untuk build Release.


Menjalankan aplikasi

Target executable di CMake adalah opengl_sky. CMake mengatur agar hasil binary ditempatkan di CMAKE_BINARY_DIR (biasanya folder build/...). Setelah build selesai, jalankan executable dari folder build yang berisi file shaders/ dan res/.

Contoh (Windows PowerShell):

cd build/windows-msvc-debug
./opengl_sky.exe

Contoh (Linux/macOS):

cd build/macos-debug
./opengl_sky

Catatan: terdapat perintah post-build yang menyalin folder shaders dan res ke direktori yang sama dengan executable, jadi pastikan folder tersebut ada di lokasi runtime.


Dependensi & catatan teknis

  • stb_image.h — sudah tersedia di repository (header-only). Pastikan salah satu C/CPP file memiliki definisi #define STB_IMAGE_IMPLEMENTATION jika diperlukan untuk build lokal.
  • OpenGL & GLEW — CMake akan mencari paket OpenGL dan GLEW; jika GLEW tidak ditemukan, CMake akan mendownload sumber GLEW dan membuat target statis.
  • vcpkg: repo mencoba auto-detect vcpkg toolchain jika tersedia; ini bersifat opsional.
  • macOS: beberapa file (audio_macos.mm, platform_cocoa.mm) adalah Objective-C++ dan hanya relevan saat membangun di macOS (CMake meng-enable OBJCXX pada Darwin).

Menambahkan gambar & video dokumentasi

  • Buat folder (jika belum): docs/images dan docs/videos.
  • Contoh cara menyisipkan screenshot di Markdown:
![Screenshot setup](docs/images/setup.png)
  • Contoh menyisipkan/menyajikan video:
<video controls src="docs/videos/setup.mp4">Video: <a href="docs/videos/setup.mp4">Download</a></video>
  • Tips: simpan gambar beresolusi sedang (web-friendly) dan buat thumbnail untuk preview di README jika perlu.

Troubleshooting singkat

  • Jika build gagal karena GLEW/OpenGL: biarkan CMake mendownload GLEW (terkoneksi internet) atau instal paket GLEW/OpenGL di sistem Anda.
  • Jika ada error compiler pada Windows saat menggunakan generator "Unix Makefiles" dan compiler MSVC-like: gunakan generator native MSVC (Visual Studio) atau gunakan preset yang sudah disediakan.
  • Untuk error macOS terkait Objective-C++: pastikan Xcode command line tools dan SDK terinstal.

Struktur file penting

  • Sumber C utama: main.c, app.c, dan file-file di root seperti renderer.c, terrain.c.
  • Header utama: stb_image.h, math3d.h, renderer.h, dll.
  • Shaders: folder shaders/ — disalin ke direktori runtime oleh CMake post-build.

Referensi & atribusi

Catatan: Saya mengikuti struktur dan sebagian implementasi dari repository di atas saat menyusun proyek ini; referensi lengkap ada di link tersebut.


Jika Anda ingin, saya bisa:

  • Menambahkan gambar/video yang Anda upload langsung ke docs/images / docs/videos dan menyisipkannya ke bagian yang sesuai.
  • Membuat versi singkat README.md yang fokus ke instruksi cepat (one-liner build/run).

Terima kasih — beri tahu file gambar/video yang ingin Anda sertakan atau langsung upload ke repo, saya akan masukkan ke dokumentasi.

Releases

Packages

Contributors

Languages