Commit graph

1031 commits

Author SHA1 Message Date
Vsevolod Kremianskii
230e5efc16 feat: Implement fading of the shadow light 2021-02-17 22:57:08 +07:00
Vsevolod Kremianskii
14c3ee3722 refactor: Refactor lighting and shading conditionals 2021-02-17 21:52:29 +07:00
Vsevolod Kremianskii
e794f2ced9 refactor: Drop all falloff types but quadratic as the most compatible 2021-02-17 21:46:31 +07:00
Vsevolod Kremianskii
91ffc7b54b fix: Fix lighting not affecting equipment 2021-02-17 21:10:25 +07:00
Vsevolod Kremianskii
455ba0e60c refactor: Drop directional light type for simplicity 2021-02-17 20:55:23 +07:00
Vsevolod Kremianskii
6ffd09db49 fix: Apply lighting to self-illuminated models that are not room models 2021-02-17 20:34:20 +07:00
Vsevolod Kremianskii
a19be2db5d fix: Prefiltered envmap must not be gamma corrected 2021-02-17 20:25:01 +07:00
Vsevolod Kremianskii
270170ff69 feat: Treat ambientOnly lights as affecting only room geometry 2021-02-17 18:57:54 +07:00
Vsevolod Kremianskii
f1f72f898e fix: When selecting lights, use light radius, not 4x light radius 2021-02-17 18:38:15 +07:00
Vsevolod Kremianskii
807f6d1985 fix: With Phong lighting limit object color by diffuse color 2021-02-17 18:10:51 +07:00
Vsevolod Kremianskii
c84d04c936 refactor(render): Tweak self-illumination in shaders 2021-02-17 17:38:03 +07:00
Vsevolod Kremianskii
2e0a5dff74 feat: Make quadratic falloff the default 2021-02-16 20:13:48 +07:00
Vsevolod Kremianskii
88e44a783a fix: Increase prefiltered color influence in HDR mode 2021-02-16 19:20:05 +07:00
Vsevolod Kremianskii
a5d32e4853 feat: Add sphere mesh 2021-02-16 19:12:18 +07:00
Vsevolod Kremianskii
71768863ac fix: Improve closest light selection for large models 2021-02-16 18:41:02 +07:00
Vsevolod Kremianskii
c42c418f9f fix: Dynamic room lighting must be available only in developer mode 2021-02-16 10:21:12 +07:00
Vsevolod Kremianskii
35191458bb chore: Tweak exposure stepping 2021-02-15 22:23:18 +07:00
Vsevolod Kremianskii
bd5bc19284 feat: Left and right bracket keys change exposure in PBR HDR mode 2021-02-15 22:06:16 +07:00
Vsevolod Kremianskii
36a52228e1 feat: Implement special handling of default materials
If model has an envmap, metallness and roughness will depend on the
alpha channel of the diffuse texture.
2021-02-15 21:37:47 +07:00
Vsevolod Kremianskii
a1cb2609af feat: Make maximum number of lights configurable 2021-02-15 21:21:50 +07:00
Vsevolod Kremianskii
935e9581b7 feat: Make four light falloff types available to Blinn-Phong and PBR 2021-02-15 20:33:14 +07:00
Vsevolod Kremianskii
d8479e7c94 chore: Multiply shadowres parameter by 1024 2021-02-15 19:43:58 +07:00
Vsevolod Kremianskii
b757066244 feat: Make inverse square falloff a toggleable feature 2021-02-15 19:04:36 +07:00
Vsevolod Kremianskii
56ec59b93a feat: In developer mode F1-F4 toggle graphical features 2021-02-15 18:38:44 +07:00
Vsevolod Kremianskii
52930c8539 feat: Make shadow map resolution configurable 2021-02-15 18:33:32 +07:00
Vsevolod Kremianskii
7b5cf3a8cc fix: Increase shadow bias, self-illuminated node do not cast shadows 2021-02-15 18:23:36 +07:00
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