API Reference Manual

Dokumentasi teknis lengkap untuk setiap fungsi yang tersedia di GL-FPS Core Engine.

3D Drawing Functions

d3d_draw_floor

Menggambar bidang horizontal (lantai atau atap) di koordinat dunia.

void d3d_draw_floor(float x1, float y1, float z1, float x2, float y2, float z2, GLuint tex, float hrepeat, float vrepeat)
ParameterTypeDescription
x1, y1, z1floatTitik sudut pertama.
x2, y2, z2floatTitik sudut diagonal seberangnya.
texGLuintID Tekstur OpenGL.
hrepeat, vrepeatfloatJumlah pengulangan tekstur secara horizontal & vertikal.
Contoh:
d3d_draw_floor(-50, 0, -50, 50, 0, 50, FloorTexture, 10, 10);

d3d_draw_wall

Menggambar bidang vertikal (dinding) dengan opsi rotasi.

void d3d_draw_wall(float x1, float y1, float z1, float x2, float y2, float z2, GLuint tex, float hrepeat, float vrepeat, float rotationZ)

Fungsi ini secara otomatis menangani normal surface agar tekstur menghadap ke arah yang benar.

Contoh:
d3d_draw_wall(0, 0, 0, 10, 5, 0, WallTexture, 1, 1, 0.0f);

d3d_draw_block

Menggambar sebuah kotak padat (6 sisi) dengan tekstur yang sama di setiap sisinya.

void d3d_draw_block(float x1, float y1, float z1, float x2, float y2, float z2, GLuint tex, float hrepeat, float vrepeat)
Contoh:
d3d_draw_block(20, 0, 20, 30, 10, 30, BoxTexture, 1, 1);

d3d_draw_cylinder

Menggambar silinder vertikal dengan tekstur.

void d3d_draw_cylinder(float x1, float y1, float z1, float x2, float y2, float z2, GLuint tex, float hrepeat, float vrepeat, bool closed, int steps)

d3d_draw_ellipsoid

Menggambar ellipsoid atau bola (sphere) dengan tekstur.

void d3d_draw_ellipsoid(float x1, float y1, float z1, float x2, float y2, float z2, GLuint tex, float hrepeat, float vrepeat, int steps)

Collision Detection

d3d_collision_block

Mengecek apakah posisi (px, py, pz) dengan radius pr bersentuhan dengan blok AABB.

bool d3d_collision_block(float px, float py, float pz, float pr, float x1, float y1, float z1, float x2, float y2, float z2)

Mengembalikan true jika terjadi tabrakan.

Audio System

Audio::Manager::init

Menginisialisasi SDL2_mixer untuk output suara.

static bool init(int frequency = 44100, Uint16 format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 2048)

playSound

Memainkan efek suara pendek (WAV/OGG). Mendukung caching otomatis.

static bool playSound(const std::string& path, int loops = 0)
Contoh:
Audio::Manager::playSound(getAssets("/sound/shoot.wav"));

playMusic

Memainkan musik latar belakang (looping).

static bool playMusic(const std::string& path, bool loop = true)

Assets & Utilities

loadTexture

Memuat file gambar (PNG/JPG/BMP) ke memori GPU dan mengembalikan Texture ID.

GLuint loadTexture(const char* filename)

Menggunakan stb_image di belakang layar dengan filter GL_LINEAR.

getAssets

Helper untuk membangun path absolut ke folder assets secara dinamis.

char* getAssets(const char* filename)

renderText

Menggambar teks menggunakan font TrueType yang sudah dimuat.

void renderText(Font &font, float x, float y, const char* text, int windowH)