Commit graph

1355 commits

Author SHA1 Message Date
Vsevolod Kremianskii
9c41c3432b feat: Add feature toggle to enable dynamic room lighting 2021-02-15 18:18:25 +07:00
Vsevolod Kremianskii
3e68ee914b chore: Change default exposure to 1.0 2021-02-15 17:05:29 +07:00
Vsevolod Kremianskii
dfa29a55d4 fix: Fix self-illumination in PBR shader 2021-02-15 16:54:36 +07:00
Vsevolod Kremianskii
6e7bef4522 feat: Make HDR a toggleable feature when in PBR mode 2021-02-15 16:36:53 +07:00
Vsevolod Kremianskii
ded28d1c70 feat: Pressing LSHIFT in first-person camera mode doubles the speed 2021-02-15 16:23:27 +07:00
Vsevolod Kremianskii
52348d13a9 feat: Enable lightmaps in PBR, tweak follow distance and mouse sensitivity 2021-02-15 15:56:10 +07:00
Vsevolod Kremianskii
8a7a00069f feat: In PBR setting convert self-illuminated nodes to light sources 2021-02-15 00:16:56 +07:00
Vsevolod Kremianskii
2630d58113 refactor: Improve dynamic lighting and dynamic shadows 2021-02-14 23:43:58 +07:00
Vsevolod Kremianskii
fe5d6ac524 feat: Load default material from material.2da 2021-02-14 19:13:16 +07:00
Vsevolod Kremianskii
d8f10832f8 refactor: Combine global and local shader uniforms 2021-02-14 19:09:40 +07:00
Vsevolod Kremianskii
7f5a47dee6 perf: Implement instanced particle rendering 2021-02-14 16:06:30 +07:00
Vsevolod Kremianskii
7ceecfaeae chore: Drop unused feature flags in shaders 2021-02-14 14:40:16 +07:00
Vsevolod Kremianskii
0ef7d158fe perf: Compute bone matrices on CPU, not in vertex shader 2021-02-14 14:18:37 +07:00
Vsevolod Kremianskii
8b3b940748 perf: Pass feature flags as a single uniform 2021-02-14 14:08:38 +07:00
Vsevolod Kremianskii
b5bca2f8ff perf: Do not unbind mesh buffers after every draw call 2021-02-14 13:41:25 +07:00
Vsevolod Kremianskii
18498202de refactor: Prefer boost::noncopyable to deleted copy constructors 2021-02-14 13:39:02 +07:00
Vsevolod Kremianskii
721e8c3e58 refactor: Use a single PixelFormat enum for textures and renderbuffers 2021-02-14 13:06:09 +07:00
Vsevolod Kremianskii
88c78c8bae feat: Add OpenGL renderbuffer abstraction 2021-02-14 11:59:34 +07:00
Vsevolod Kremianskii
df61386f9a refactor: Move scene animation classes into animation folder 2021-02-14 10:20:13 +07:00
Vsevolod Kremianskii
4f3e28d8df refactor: Delete CubeSceneNode in favor of MeshSceneNode 2021-02-14 10:11:17 +07:00
Vsevolod Kremianskii
ccfb627a21 refactor: Use Texture abstraction in Video 2021-02-14 10:08:50 +07:00
Vsevolod Kremianskii
1d72765265 refactor: Reorganize librender files 2021-02-14 09:36:57 +07:00
Vsevolod Kremianskii
730263881f refactor: Replace Singleton with boost::noncopyable 2021-02-14 08:55:35 +07:00
Vsevolod Kremianskii
d6d14fed0e refactor: Move mesh management into Meshes class 2021-02-13 23:57:35 +07:00
Vsevolod Kremianskii
e9cc030c61 refactor: Use MemoryCache abstraction in obvious cases 2021-02-13 22:36:44 +07:00
Vsevolod Kremianskii
78e8126961 refactor: Add Singleton base class to reduce duplication 2021-02-13 22:14:28 +07:00
Vsevolod Kremianskii
bdd369f5e4 feat: Finalize PBR support, refactor shaders
- Implement loading materials from material.2da
- Fix BRDF lookup texture creation
- Add a global variable to switch between PBR and Blinn-Phong
2021-02-13 18:46:31 +07:00
Vsevolod Kremianskii
b196233ffe feat: Enable combining lightmaps with PBR lighting 2021-02-12 21:44:49 +07:00
Vsevolod Kremianskii
9ff3227c3a feat: Enable loading metallic and roughness from lookup table 2021-02-12 21:19:31 +07:00
Vsevolod Kremianskii
a844812a13 chore: Take light multiplier into account 2021-02-12 20:13:32 +07:00
Vsevolod Kremianskii
5310e1d0b3 chore: Consider lights with radius 50 and more directional 2021-02-12 20:06:58 +07:00
Vsevolod Kremianskii
cb7edd7e4f chore: Increase maximum number of lights to 8 2021-02-12 20:06:36 +07:00
Vsevolod Kremianskii
c927bffce8 feat: Implement specular IBL as part of PBR
While at it, refactor framebuffer and texture abstractions.
2021-02-12 19:28:02 +07:00
Vsevolod Kremianskii
28cbbd7dbb Add images for the project Wiki 2021-02-12 11:27:43 +07:00
Vsevolod Kremianskii
d8bb48150e fix(render): Fix setting render flag on textureless _characters_ 2021-02-12 10:01:07 +07:00
Vsevolod Kremianskii
608f132ac8 fix(render): Re-enable textureless rendering 2021-02-12 09:52:52 +07:00
Vsevolod Kremianskii
8550157b53 fix(game): Re-enable conversations 2021-02-12 09:29:18 +07:00
Vsevolod Kremianskii
e461f3246e fix(scene): Prevent invalid_argument in AnimationChannel 2021-02-12 02:17:18 +07:00
Vsevolod Kremianskii
157c562ab9 feat: Implement physically based rendering 2021-02-12 02:05:30 +07:00
Vsevolod Kremianskii
727e82b708 feat: Implement lip sync animation 2021-02-11 17:57:03 +07:00
Vsevolod Kremianskii
8df62d5b48 refactor: Refactor SceneNodeAnimator
AnimationChannel is extracted into a separate class.
2021-02-11 16:51:42 +07:00
Vsevolod Kremianskii
2566e0d1e4 feat: Implement loading LIP files in conversations 2021-02-10 17:54:55 +07:00
Vsevolod Kremianskii
746a742744 fix(game): Do not update GUI when in first person camera mode 2021-02-10 00:20:10 +07:00
Vsevolod Kremianskii
17d24de3cf feat: Make camera toggle and game speed controls exclusive to devmode 2021-02-09 23:54:39 +07:00
Vsevolod Kremianskii
383905b790 feat: Add developer mode program option
Warp button is not visible when NOT in developer mode. More to come.
2021-02-09 23:34:47 +07:00
Vsevolod Kremianskii
46cd29d9e9 feat: Add separate program option for voice volume 2021-02-09 23:11:40 +07:00
Vsevolod Kremianskii
c02bfb4931 chore(tools): Cleanup, drop unimplemented operations
JSON to GFF and JSON to TLK converters need more analysis.
2021-02-09 22:47:04 +07:00
Vsevolod Kremianskii
2f4d568c15 refactor: Streamline and cleanup tools 2021-02-09 14:53:53 +07:00
Vsevolod Kremianskii
41dca204fa feat: Add JSON to 2DA conversion tool 2021-02-09 12:40:14 +07:00
Vsevolod Kremianskii
f53cd8f7ce feat: Enable rendering of textureless meshes 2021-02-09 10:05:59 +07:00