Commit Graph

239 Commits

Author SHA1 Message Date
Joshua Yanovski
8414987e58 WIP -- lighting changes and soft shadows. 2020-04-09 02:38:40 +02:00
Joshua Yanovski
4764415312 Merge branch 'sharp/map-colors' into sharp/small-fixes 2020-04-03 04:54:48 +02:00
Joshua Yanovski
13388ee6a4 Various fixes (to coloring and to soft shadows). 2020-04-02 20:30:08 +02:00
Joshua Yanovski
fbd084a94a Merge branch 'master' of gitlab.com:veloren/veloren into sharp/map-colors 2020-04-02 18:50:38 +02:00
Joshua Yanovski
ed2d0111d9 Combining colors and LOD. 2020-04-02 06:49:27 +02:00
Joshua Yanovski
88342640c6 Merge branch 'sharp/map-colors' into sharp/small-fixes 2020-04-02 04:49:20 +02:00
Joshua Yanovski
32b2c99109 Horizon mapping and "layered" map generation.
Horizon mapping is a method of shadow mapping specific to height maps.
It can handle any angle between 0 and 90 degrees from the ground, as
long as know the horizontal direction in advance, by remembering only a
single angle (the "horizon angle" of the shadow map).  More is explained
in common/src/msg/server.rs.  We also remember the approximate height of
the largest occluder, to try to be able to generate soft shadows and
create a vertical position where the shadows can't go higher.

Additionally, map generation has been reworked.  Instead of computing
everything from explicit samples, we pass in sampling functions that
return exactly what the map generator needs.  This allows us to cleanly
separate the way we sample things like altitudes and colors from the map
generation process.  We exploit this to generate maps *partially* on the
server (with colors and rivers, but not shading).  We can then send the
partially completed map to the client, which can combine it with shadow
information to generate the final map.  This is useful for two reasons:
first, it makes sure the client can apply shadow information by itself,
and second, it lets us pass the unshaded map for use with level of
detail functionality.

For similar reasons, river generation is split
out into its own layer, but for now we opt to still generate rivers on
the server (since the river wire format is more complicated to compress
and may require some extra work to make sure we have enough precision to
draw rivers well enough for LoD).

Finally, the mostly ad-hoc lighting we were performing has been (mostly)
replaced with explicit Phong reflection shading (including specular
highlights).  Regularizing this seems useful and helps clarify the
"meaning" of the various light intensities, and helps us keep a more
physically plausible basis.  However, its interaction with soft shadows
is still imperfect, and it's not yet clear to me what we need to do to
turn this into something useful for LoD.
2020-04-02 02:46:36 +02:00
AdamWhitehurst
f515cc70be Documentation for swap_loadout 2020-04-01 07:30:18 -07:00
Imbris
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -04:00
Imbris
df5a7ef0e3 split toggle events 2020-03-27 21:32:30 -04:00
Imbris
3889ec7292 climbing tweaks, fix triple strike overflow, fix Last<CharacterState>
not registered
2020-03-25 02:05:28 -04:00
Imbris
6ba158b7e1 Input handling changes 2020-03-25 01:38:37 -04:00
Adam Whitehurst
db8d89a4d9 * rename CharacterState equals() -> same_variant() 2020-03-22 05:46:09 -07:00
Imbris
41c424ac13 Optimized uses of emitters, cleanup 2020-03-22 00:49:46 -04:00
Imbris
1a484410ca Delete Vel and Ori on the client when they are removed on the server 2020-03-18 17:01:51 -04:00
timokoesters
87acc01d48 Readd ranged and debug boost. Add bouncing while running in first person 2020-03-16 12:32:57 +01:00
timokoesters
aa963b7686 Merge remote-tracking branch 'origin/master' into clientstates 2020-03-15 15:27:06 +01:00
S Handley
bc692c0101 Add audio and chat message feedback when the player attempts to collect something while thier inventory is full. 2020-03-11 10:30:59 +00:00
Imbris
a4eaeb1da6 Merge branch 'imbris/se-latency' into 'master'
Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects

See merge request veloren/veloren!840
2020-03-10 23:21:57 +00:00
Capucho
16e4214a52 Switch states instead of popping 2020-03-10 20:34:50 +00:00
Capucho
5fe9521233 Fix the spam on disconnect 2020-03-10 20:34:50 +00:00
Capucho
9d805a745e Proper fix to the logout timeout problem using Disconnect ACK 2020-03-10 20:34:50 +00:00
Capucho
d8ba63ffdc Janky fix of the logout timeout problem 2020-03-10 20:34:50 +00:00
Imbris
7132ef4136 Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects 2020-03-09 22:31:24 -04:00
Acrimon
bc39b78173 Rebased. 2020-03-08 23:02:15 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Imbris
6cc07270ac improve(login): more precise error handling during login 2020-03-08 22:56:59 +01:00
Acrimon
08b4cc5fc3 Update auth to use new hashing scheme. 2020-03-08 22:56:34 +01:00
Songtronix
ac5ff453cc improve(voxygen): error handling while connecting 2020-03-08 22:54:49 +01:00
Acrimon
7db0ff0b8c Update chat-cli to work properly.
Update reqwest to 0.10.0
2020-03-08 22:54:15 +01:00
Imbris
8ef1251dc2 Add warning prompt for untrusted auth servers, move some auth code into 2020-03-08 22:51:37 +01:00
Acrimon
403deecc6d Server auth handling improvements. 2020-03-08 22:49:47 +01:00
Songtronix
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
Adam Whitehurst
096d3b691e Merge master 2020-03-07 12:49:15 -08:00
Capucho
a97b694dfe Groundwork for fixing #36 and rewrite of client timeouts so that they don't use Instant and Duration 2020-03-05 18:38:39 +00:00
S Handley
b0ca85069b Piggyback on the InventoryUpdate events and attach some additional event info so that we can detect why the inventory update was triggered, and emit an associated sfx event that matches it. 2020-03-04 10:09:48 +00:00
timokoesters
0bc07a0835 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-03 22:02:32 +01:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Marcel Märtens
dd21235ff8 Apply prefixes to veloren source, espacially comments, so that reformating wont make it unreadable,
especially enumerations and other source code in errosions file
2020-02-01 21:37:36 +01:00
Marcel Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01:00
Joshua Barretto
e391d6e4fd Added no-assets feature to common 2020-01-27 22:41:30 +00:00
Joshua Yanovski
3383e991e7 Erosion cleanup, part 1.
Covers all files touched by MR that are not in world/src/sim.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
1358f1dffa Changes to worldgen, adding more sedmient etc. 2020-01-23 18:18:14 +01:00
Joshua Yanovski
14e4dfb53f Re-fix map orientation. 2020-01-23 18:18:13 +01:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
9520ef4f6d Implement sending world map across the network. 2020-01-23 18:18:11 +01:00
Imbris
3c8d0a3bb9 fix typo, replace u32 with Vec3<u8> in light propagation queue 2020-01-19 16:03:27 -05:00
timokoesters
ae1fa5e4c4 improvement: fog doesn't go back and forth anymore 2020-01-19 16:03:27 -05:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
Piotr Korgól
e1adf40856 Improvement: Replace all '..=b' with '..b + 1' 2020-01-12 15:46:53 +01:00