Commit Graph

3154 Commits

Author SHA1 Message Date
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
Joshua Yanovski
f8926a5737 Merge remote-tracking branch 'origin/master' into sharp/map-colors 2020-03-13 13:32:42 +01:00
Marcel
875ae6cedd Merge branch 'shandley/inventory-full-handling' into 'master'
Feedback when collecting an item while inventory is full

Closes #459

See merge request veloren/veloren!847
2020-03-11 10:31:00 +00: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
Acrimon
ab56829385 Merge branch 'shandley/collect-block-mousedown-only' into 'master'
Check for the mousedown state before trying to collect an item via secondary mouse click.

See merge request veloren/veloren!846
2020-03-11 08:07:34 +00:00
Shane Handley
434dd96cd6 Check for the mousedown state before trying to collect an item via secondary mouse click. 2020-03-11 15:39:46 +09:00
Marcel
9c56d25cfa Merge branch 'mckol/update-ci' into 'master'
Made the CI fail if Cargo.lock would be changed by cargo build

Closes #110

See merge request veloren/veloren!845
2020-03-11 00:05:34 +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
Mckol
e4a1e4d078 Made the CI fail if Cargo.lock isn't up-to-date 2020-03-10 23:32:33 +01:00
Acrimon
406767ae31 Merge branch 'capucho/voxygen-logout-timeout' into 'master'
FIX #513 logout timeout

See merge request veloren/veloren!837
2020-03-10 22:12:29 +00:00
Capucho
b14582d196 removed merge artifact 2020-03-10 21:09:38 +00:00
Capucho
339965f6ad Merge branch 'capucho/voxygen-logout-timeout' of gitlab.com:veloren/veloren into capucho/voxygen-logout-timeout
Fixed conflicts
2020-03-10 21:06:08 +00:00
Capucho
a9580a81bc Rebased on master and moved logout message to events 2020-03-10 21:04:13 +00:00
Mckol
c3f1afdf2b Merge branch 'controller' into 'master'
Controller support

Closes #20

See merge request veloren/veloren!750
2020-03-10 21:00:13 +00:00
Mckol
8838682f0b Added Controller support 2020-03-10 21:00:13 +00:00
Acrimon
e75aff7bb7 Merge branch 'shandley/pickup-player-relative' into 'master'
Constrain item pickup range

See merge request veloren/veloren!843
2020-03-10 20:50:04 +00:00
S Handley
b2312a0487 Check that a targeted collectible is within a certain pickup range of the character before highlighting it 2020-03-10 20:50:04 +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
14f0b018fd Add metric for new connection handling time, move StateExt to its own module 2020-03-09 22:39:12 -04: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
Imbris
5598fe7166 Merge branch 'songtronix/fix-517' into 'master'
fix #517

Closes #517

See merge request veloren/veloren!842
2020-03-09 23:25:04 +00:00
Songtronix
80dafebac5 fix: #517 2020-03-09 20:52:04 +01:00
Marcel
ee0b214a33 Merge branch 'xMAC94x/cargolock' into 'master'
regenerated Cargo.lock, requiering 7 less dependent crates and greatly...

See merge request veloren/veloren!841
2020-03-09 12:35:43 +00:00
Marcel Märtens
1cbd07d5e5 regenerated Cargo.lock, requiering 7 less dependent crates and greatly reducing size of cargo.lock file 2020-03-09 11:49:57 +01:00
Acrimon
c5ea78371c Merge branch 'songtronix/integrate-auth' into 'master'
Implement authentication

See merge request veloren/veloren!690
2020-03-08 23:36:25 +00:00
Acrimon
bc39b78173 Rebased. 2020-03-08 23:02:15 +01:00
Imbris
0e86197ebe Move changelog entry back up to the unreleased section 2020-03-08 23:00:39 +01:00
Imbris
8d7c454029 Hide password text 2020-03-08 23:00:34 +01:00
Imbris
0022f8464d Update auth 2020-03-08 22:59:22 +01:00
Songtronix
d2e12fd166 feat(auth): localisation of authentication errors 2020-03-08 22:58:43 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Acrimon
b29e543089 Remove account on logout. 2020-03-08 22:57:19 +01:00
Acrimon
3995f099b0 Fix singleplayer crash. 2020-03-08 22:57:13 +01:00
Acrimon
d4225cfb45 Auth error help message.
main menu message about auth
2020-03-08 22:57:09 +01:00
Acrimon
e18e2e1901 Update readme with signup link.
add changes to changelog
2020-03-08 22:57:02 +01:00
Imbris
6cc07270ac improve(login): more precise error handling during login 2020-03-08 22:56:59 +01:00
Acrimon
d3412d5493 Fixed gameserver crash on authprovider error. 2020-03-08 22:56:44 +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
Acrimon
584dcddba9 Updated to latest and greatest auth version. 2020-03-08 22:46:40 +01:00
Songtronix
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
Capucho
a391f2e0f2 Switch states instead of popping 2020-03-08 20:31:27 +00:00
Justin Shipsey
3672f4916e Merge branch 'snowram/eagle' into 'master'
eagle npc

See merge request veloren/veloren!839
2020-03-08 15:46:13 +00:00
Justin Shipsey
68df685238 Merge branch 'snowram/eagle' into 'snowram/eagle'
more eagle adjustements

See merge request veloren/veloren!838
2020-03-08 15:07:47 +00:00