GameApi FeatureList
Sprites/Bitmaps
- (bm_render/bm_2d) Sprites
- (BM) Bitmaps
- (new|new_bm|new_fb|new_bb) Creating bitmaps
- (load|save_png|save_raw) Loading/Saving bitmaps
- (bm_url|bm_fetch|2) Loading bitmaps from url
- (bm_gltf) Loading bitmap from glb/gltf files
- (bm_atlas_x|y|xy) Sprite atlas support
- (bm_cubemap|invcubemap) Cubemap support
- (edge_fix) Fix edges
- (border|add_shape_border) Add border to a bitmap
- (sub|alt|compose_x|y) subarea/alternatives/composition
- (blit|blitFB|blitBB) Blit the bitmaps to other bitmaps
- (bm_scale|bm_scale2) Scale the bitmap
- (bm_fullscreen) Fullscreen sized bitmap
- (interpolate) interpolate the bitmap
- (bm_color) Change color
- (bm_plus) Add colours together
- (bm_medianfilter) filter
- (repeat|flip_x|flip_y|rot90) Repeat and flip and rotate bitmaps
- (indicator|noise_vec|chessboard|mandelbrot) standard bitmaps
- (fractal_mountain) mountain bitmap
- (lightmap) lightmap calc
- (gradient|circ_gradient) Linear and circular gradient
- (blur) blur filter
- (floodfill|floodfill_color|floodfill_color_inv) Flood filling
- (gray_to_black) colour changes
- (bm_bumpmap) Bumpmapping
- (memoize) Caching
- (bb_from_bitmap) Bool bitmap from bitmap conversion
- (from_float_bitmap) Float bitmap to bool bitmap conversion
- (line|tri|circle|rectangle|part_circle|rings) Bitmap drawing primitives
- (andnot_bitmap|or_bitmap|xor_bitmap|choose_bitmap|bb_sprite) Boolean operations on bitmaps
- (to_bitmap) from bool bitmap to colour bitmap conversion
- (from_red|from_green|from_blue|from_alpha) Get float bitmap from colour channels
- (gradient_fb|radial_fb) gradients
- (sin_fb|plus_fb|mul_fb) calculating with colours
- (bm_dist|bm_blur|bm_gaussian|bm_perlin) standard bitmaps
- (to_grayscale_color) From float bitmap to coloured version
3D Models
- (P) .obj, .mtl, .stl, .glb, .gltf files support
- (triangle|quad|quad_x|quad_y|quad_z|quad_fullscreen) primitives
- (polygon|cube|rounded_cube|sphere) standard primitives
- (disc|cone|torus|bar_chart) standard primitives
- (bg_image) background_image
- (quad_bmsize) bitmap sized quad
- (vr_fullscreen_quad) virtual reality fullscreen quad
- (heighmap) heightmaps
- (p_or_elem|array) combining 3d models
- (p_facecutter) cut faces
- (p_mix) combine
- (translate/rotatex|y|z/scale) translate/rotate/scale
- (subst) substitute
- (fix_vertex_order) fixing winding order of triangles
- (filter_invisible) filter out invisible triangles
- (line_to_cone|2|3) lines converted to cones
- (p_mix_color|p_min_color|p_max_color) colour mixing
- (color_darkness|color_gradient|color_distance|color_range) colour manipulation
- (recalc_normals) recalculating normals
- (smooth_normals) smooth normals
- (spherical_normals) spherical normals
- (flip_normals) flipping normals
- (texcoord) texture coordinates
- (p_tex_splitter|p_tex_storage|p_tex_light|p_tex_replace) splitting textures from 3d models
- (splitquads|x_split|y_split|z_split) splitting polygons
- (memoize|persistent_cache) polygon caching
Materials
- m_colour
- m_textures
- m_phong
- m_snow
- m_edge_glow
- m_toon_border
- m_gltf material
- m_fog
- m_dir_shadow
- m_or_elem combining materials
custom shader support
lines rendering
- face edge lines
- translate/scale lines
points rendering
- loading points from file
- random points picked from quads
- random points picked from volumes
minecraft rendering
- default cubes
- default material
- voxels
moving 3d models
- translate/rotate/scale
- local move
- anim translate/rotate/scale
voxels
- (vx_or_elem) combining voxels
- (vx_blit) volume to voxel conversion
- (vx_inst) voxel to points conversion
- (vx_render) rendering voxels via cubes and points
- (vx_bind) rendering voxels with materials
- (vx_static) combining voxels to larger mesh
volumes
- sphere/cube/cone/torus
- colour
- move/rotate
- not/min/max/andnot
- (o_inst) instantiation
fonts
- FI_load
- FI_drawtext
- FI_largetext
chooser tools
- bm_chooser
- p_chooser
- ml_chooser
- ml_anim
conditional execution
- area
- toggle
- timed
- move
- repeat
- keypress
- statemachine
- hmd
tree rendering
- levels
- (tree_p) tree to mesh conversion
textures
- binding
- conversion to bitmap
- fbos
- (pbos)
boolean operations on meshes
- cube/sphere
- combining
- and_not
- intersect
MainLoop features
Sequencing
- (t_start|t_time|t_time_switch|t_exit) Sequencing effects
- (html_url/bm|p|ml|mn|mt_script) scripting support
- generating bitmaps via scripts
gltf
- (ml_gltf_all) gltf rendering
- (gltf_load2) fetching assets from web
- (async_gltf) async loading of assets
main loop 3d modelling operations
- (or_elem_ml|array_ml) combining mainloops
- (move_ml) moving 3d models
- (repeat_ml) repeating events
rendering
- (sp_render) sprite rendering
- (p_render|_inst|_txid) 3d model rendering
- (pts_render) points rendering
- (m_bind|_many|_inst|_instmat|_instmany) 3d model rendering with materials
- (b_divide|b_bind|b_draw) splitting 3d models to smaller pieces and rendering
input handling
- (wasd_ml|quake_ml|quake_ml2) input handling
- (key_activate|comb_key_activate) keyboard handling
- (touch_rotate) rotating with touchscreen/mouse
- (mouse_zoom|2) zooming with mouse wheel
- (mouse_pan) moving with right mouse button
- (key_record/key_playback) recording and playback of key events
debugging
- (key_printer_ml) debugging key events
- (mesh_stats_ml) debugging mesh properties
- (print_deps) printing internal dependencies
- (joy_printer_ml) joystick printer
displaying panels and screens
- (fps_display) fps display
- (score|time_display) displaying score and time
- (restart_key|restart_screen) displaying restart screen
low level opengl
- (ogl_|disable_polygons|depthfunc|depthmask|blendfunc|zbuf_disable|transparency|perspective) low level opengl operations
internal
- (concurrent_download) loading sanmiguel concurrently
- (eng_face_count) passing face count to javascript
sounds
- (song_ml) playing music via .ogg files
- (sound_ml) playing sound effects via .wav files
window handling and deploying
- (run_window) fullscreen window
- (html_run|html_ml|html_p|html_mt) converting engine to html5
- (looking_glass) holographic screen support (windows only)
- (vr_window) virtual reality window support
- (pkg_window|2) packing engine features to independent binary files
- (save_deploy) converting html5 to .zip file for deploying at hosting space
That's all folks