628cbca
(HEAD -> master)
Upgrade OpenGL from 3.3 to 4.6. Abstract GL interface, closing #8. by
2023-11-27 22:23:26 +0800
d5bb588
Rename gl::color_space to gl::transfer_function. Add infinite perspective projection matrix functions. Improve floating-point accuracy when rendering large coordinates. Improve image class. Replace fullscreen quads with fullscreen triangles. Improve physics tracing to work with transformed meshes. Improve locomotion system to work on transformed meshes. by
2023-09-09 02:15:09 +0800
d027b2d
Improve cascaded shadow maps by
2023-09-02 23:32:00 +0800
f3ee05d
Remove excessive namespaces from color namespace. Add color temperature method to light classes. Clean up cascaded shadow map pass. by
2023-08-31 20:13:26 +0800
859cdf6
Set OpenGL depth range to [0, 1]. Remove obsolete ground pass by
2023-08-30 19:24:13 +0800
f25e7ce
Add std::formatter specializations for math::vector and math::matrix. Make camera calculate inverses of view and projection matrices from parameters by
2023-08-30 16:41:26 +0800
17ab179
Improve cascaded shadow maps by
2023-08-29 20:38:38 +0800
4b7ad31
Add more vector and quaternion functions. Improve mesh collider. Rename cocoon gene to pupa gene. Add more parameters to various genes. Improve numeric spring class. Improve camera and ant controls. Rename orbit camera to spring arm. by
2023-08-24 12:59:06 +0800
0a45835
Improve navmesh traversal. Improve locomotion system. Improve camera system. Add reproductive system. Improve vertex normal calculation. Refactor game controls. by
2023-08-12 14:53:53 +0800
13134f9
Add functions to convert between Euler angles and quaternions. Improve Euler IK constraint. Add gait and step classes to animation module. Improve locomotion system by
2023-08-04 10:52:47 +0800
1b9cd19
Add traverse_navmesh method by
2023-07-26 22:29:34 +0800
46de558
Replace mesh class with new brep_mesh class. Add initial bvh class. Revise vector, matrix, and quaternion type naming conventions. by
2023-07-21 16:47:30 +0800
d766050
Add luminance cubemap filtering to light probe stage by
2023-06-30 19:07:04 +0800
74e8d12
Improve sky pass. Add light probes. by
2023-06-19 07:33:57 +0800
a1f3b60
Add support for cube map loading by
2023-05-26 02:49:10 +0800
1a6cfa6
Add rectangle area light. Replace sphere light with point light. Improve interface of all light classes by
2023-05-25 02:25:26 +0800
11a42b4
Improve sphere light interface by
2023-05-11 00:08:52 +0800
c0af8b7
Replace point light with sphere area light by
2023-05-10 22:38:06 +0800
a3188f3
Improve camera controls, remove custom attenuation factors for point and spot lights by
2023-05-09 20:51:03 +0800
732318c
Combine forewings model and hindwings model in wings phene by
2023-04-07 15:52:04 +0800
77ff725
Add IK system. Optimize some quaternion functions. Make active actions publish active events each frame by
2023-04-03 18:10:55 +0800
7a8d613
Make morphogenesis function give ants corect number of ommatidia according to eye phenes by
2023-03-27 04:09:07 +0800
127b2dc
Fix typos in mesosoma wing socket bone names by
2023-03-27 00:14:01 +0800
ffcc806
Improve morphogenesis handling of waist, rename tarsus segment bones to tarsomere, add _socket suffix to socket bone names by
2023-03-27 00:07:15 +0800
a6ad08a
Make some ant bones non-optional by
2023-03-26 19:04:58 +0800
f8ae34d
Make pose generation part of morphogenesis function by
2023-03-26 18:41:43 +0800
a268405
Add capsule collision by
2023-03-25 05:56:46 +0800
0a8bb7c
Make skeletons capable of containing poses by
2023-03-24 09:10:08 +0800
14fa3c7
Add bone add and remove functions to skeleton by
2023-03-24 02:40:38 +0800
47eb267
Revise skeleton pose classes. Rename rigged_mesh to skeletal_mesh. Make model vertex bone indices uint16 by
2023-03-23 23:44:52 +0800
cb9f683
Revise skeleton and skeleton poses. Add rigged mesh scene object by
2023-03-23 08:22:17 +0800
3ce188c
Improve 3D transform struct by
2023-03-22 18:33:23 +0800
356a4a2
Remove active paramter from scene objects by
2023-03-22 15:30:55 +0800
2afd495
Improve frustum culling. Remove obsolete geometry primitives by
2023-03-22 03:51:53 +0800
8d06106
Improve subframe interpolation. Remove tweens from scene objects. Clean up scene object classes by
2023-03-21 06:11:55 +0800
f4287f3
Make moving average constructor with capacity explicit by
2023-03-20 22:49:50 +0800
b55ef57
Add physics system. Improve frame scheduling. Improve input handling. by
2023-03-20 22:19:04 +0800
a0657d8
Re-add support for relative mouse mode. Revise and optimize renderer and render operations. Rename model_instance to static_mesh. Replace model_component and light_component with scene_component. Add physics system and component. by
2023-03-12 23:30:35 +0800
4a96033
Fix all W3 warnings by
2023-03-11 11:48:51 +0800
b8d5689
Remove some unused variables by
2023-03-11 08:06:27 +0800
a313430
Fix and improve ant morphogenesis by
2023-03-11 07:26:00 +0800
a017a86
Replace ant gene JSON loaders with binary format loaders. Make string map file format little endian. by
2023-03-10 10:38:05 +0800
b6b7701
Remove hard-coded language manifest. Update model loader to load bone keys rather than strings by
2023-03-08 19:13:14 +0800
acbfd18
Fix corrupted text on language change caused by new material variable system by
2023-03-08 17:50:27 +0800
a72b5cc
Update docs by
2023-03-08 17:37:31 +0800
1cac4eb
Update README by
2023-03-08 16:10:39 +0800
a90c506
Make unicode blocks constexpr by
2023-03-08 15:05:12 +0800
3298123
Add missing explicit keyword to some classes with single argument constructors by
2023-03-08 14:41:31 +0800
ccd4b39
Add more default value initialization for various classes and structs by
2023-03-08 14:16:11 +0800
f1d46e1
Revise resource management and resource loading. RAII-ify entire codebase. Improve materials and shaders. Optimize and improve all render passes. Make material pass use shader templates to support arbitrary numbers of lights. Add fnv1a data types by
2023-03-08 13:18:32 +0800
127c1aa
Combine game context and boot state into single game class. Make game class members follow RAII principles. Add state suffix to game states and remove state namespace by
2023-02-23 03:09:03 +0800
a1aea5f
Split game and engine code into two separate parent directories. Fix bloom pass initialization bug by
2023-02-22 21:38:54 +0800
9297744
Add support for #pragma once directives in shader include files by
2023-02-19 18:25:16 +0800
8165f8d
Replace CBOR-based model loader with a custom binary format loader by
2023-02-19 16:07:17 +0800
676fbef
Fix and improve control profile serialization. Fix gamepad config menu. Add support for loading string maps directly rather than building them at runtme. by
2023-02-19 01:26:50 +0800
60a2ed9
Rename control and control_map to action and action_map, respectively by
2023-02-13 16:21:14 +0800
adc5ceb
Improve keyboard config menu. Add support for modifier keys in key mappings by
2023-02-13 15:48:20 +0800
f8d8d17
Improve menu mouse selection, add scroll mappings to menu controls by
2023-02-11 00:20:51 +0800
b7c7284
Add cursor hiding functions by
2023-02-10 21:55:53 +0800
ebe1722
Improve UI resizing by
2023-02-10 10:16:18 +0800
2c1f04a
Add GLSL type aliases to math::glsl namespace by
2023-02-10 07:56:43 +0800
b7b012f
Fix menu controls by
2023-02-10 03:59:16 +0800
df0e3e2
Revise input mapper. Separate input events into separate headers by
2023-02-10 00:07:58 +0800
2723789
Replace performance sampler with moving average by
2023-02-09 02:36:11 +0800
f86fc14
Fix key repeat input bindings. Start to fix menu controls that were broken changes to the input and event systems. Add Windows version resource file. Enable UTF-8 console output on Windows. by
2023-02-09 00:05:34 +0800
7f9eba6
Rename input events by
2023-02-07 04:49:12 +0800
1f7b88f
Make input manager handle quit events. Improve command-line option parsing by
2023-02-07 03:49:15 +0800
c9ecc15
Improve display management by
2023-02-07 00:37:55 +0800
ffda59d
Split application class into a window manager, a window, and an input manager by
2023-02-06 11:37:19 +0800
a615ef7
Add i18n namespace. Switch to using hash strings for localized strings. Change settings to be dict-based. Improve path finding on windows. Improve window management. Add serializer and deserializer template classes by
2023-02-06 02:33:12 +0800
5d4748c
Add event header namespace header by
2023-02-02 21:00:26 +0800
3b3c5a1
Add nodiscard attribute to math functions. Add more math constants. Improve debug log setup. Fix material pass comparator by
2023-02-02 20:55:54 +0800
a37f7c0
Revise events, input, and logging by
2023-02-02 03:57:27 +0800
870ccc2
Add ping method to signal class. Remove some obsolete systems by
2023-01-18 10:35:24 +0800
849043d
Add signal and connection-based event handling by
2023-01-17 00:39:50 +0800
0b41ff3
Add render stage base class and culling stage class by
2023-01-16 04:43:51 +0800
4c2993b
Add support for loading shader templates. Begin to phase out direct loading of shader programs in favor of shader templates. by
2023-01-16 03:44:32 +0800
f4d46b0
Add support for FXAA by
2023-01-16 01:09:19 +0800
127c48a
Remove texel size calculation from bloom pass by
2023-01-13 07:02:01 +0800
ee0cef6
Improve bloom by
2023-01-13 05:28:08 +0800
e2b31a9
Improve shadow map quantization by
2023-01-12 10:00:22 +0800
915c558
Improve shadow map pass by
2023-01-12 05:26:21 +0800
407f62a
Move some material flags to material parameters. Remove shadow mapping parameters from shadow map pass and add them to directional lights by
2023-01-11 23:25:18 +0800
4b3ebf3
Add audio setup and shutdown to boot state by
2023-01-05 23:17:24 +0800
1747b85
Fix find_package compatibility with SDL 2.26.2 by
2023-01-05 16:37:50 +0800
30dc77e
Add code of conduct by
2023-01-04 15:41:49 +0800
a0007b7
Fix sting morphogenesis by
2023-01-01 14:20:47 +0800
93cd640
Update copyright year by
2022-12-31 15:34:17 +0800
f54989f
Rename biome to ecoregion. Add ecoregion loader. by
2022-12-31 15:31:34 +0800
b38971c
Split traits into genes and phenes. Add genome and phenome structs. Add cladogenesis function. by
2022-12-23 05:28:10 +0800
a7e5aca
Improve ant trait definitions, trait loaders, and morphogenesis. by
2022-12-20 23:56:09 +0800
7b5dbcb
Fix Voronoi tiling again by
2022-11-03 06:06:43 +0800
fda82c1
Fix Voronoi tiling by
2022-11-03 05:26:23 +0800
32c53d7
Add structured binding support to math::matrix. Replace math::vector floating point static asserts with floating point concepts by
2022-10-26 16:24:08 +0800
eba7579
Fix documentation issues by
2022-10-25 17:19:01 +0800
d1ac96e
Add structured binding support to math::vector by
2022-10-25 17:13:22 +0800
ce4456f
Improve hyperoctree class by
2022-10-24 20:11:45 +0800
ff49178
Make source compatible with latest version of MSVC. Add compile-time math header by
2022-10-23 21:29:58 +0800
b6b28dc
Minor fixes and improvements to the linear algebra structs by
2022-10-23 02:51:04 +0800
c753b81
Improve and consolidate quaternion struct. Add more quaternion operators by
2022-10-23 02:06:57 +0800