Commit Graph

186 Commits

Author SHA1 Message Date
Joshua Yanovski
8414987e58 WIP -- lighting changes and soft shadows. 2020-04-09 02:38:40 +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
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
Imbris
5ed77b5054 Fix security 2020-04-01 20:03:15 -04:00
Imbris
97148cb6bb Merge branch 'master' into 'combat'
# Conflicts:
#   CHANGELOG.md
2020-04-01 20:42:27 +00:00
Imbris
a73d010f7b Point to newly released vek, add todo to reconsider empty item, remove uneeded ori slerp, remove agent from character behavior, add todos to combat sys, check if entities still exist before possessing & if possessed entity has a loadout move the active item into the second item space 2020-04-01 11:15:14 -04:00
Imbris
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -04:00
Mckol
aa59e8715d Updated Cargo.lock to fix vek not compiling 2020-03-30 15:45:22 +02:00
Imbris
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
Capucho
7048163153 Fixed Some minor bugs on the password field 2020-03-25 12:51:43 +00:00
Capucho
7851a407b1 Fix the cursor lagging behind on password field 2020-03-24 21:41:59 +00:00
timokoesters
ea2500e7ab Add minimum prepare duration to fireball and bow 2020-03-24 14:42:31 +01:00
Pfauenauge90
466b80e8a8 added const tweaker 2020-03-19 18:11:45 +01:00
Joshua Yanovski
f8926a5737 Merge remote-tracking branch 'origin/master' into sharp/map-colors 2020-03-13 13:32:42 +01:00
Mckol
8838682f0b Added Controller support 2020-03-10 21:00:13 +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
bc39b78173 Rebased. 2020-03-08 23:02:15 +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
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Acrimon
08b4cc5fc3 Update auth to use new hashing scheme. 2020-03-08 22:56:34 +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
Imbris
4a0c474be1 Remove Client dependency from Scene types and audio managers, add an
example for using voxygen as a library to renderer images of characters
2020-03-05 23:12:51 -05:00
Joshua Yanovski
a1aee931e7 Adding shadows. 2020-02-21 14:52:17 +01:00
Rémy PHELIPOT
98c37d0b28 [i18n] Configurable fonts
- Add font configuration in internationalization files
- Scale font size using a configurable ratio
- Add a script to identify translation item statuses using Git metadata
- Execute the i18n script in a new gitlab-ci step (delayed)
- Clone haxrcorp_4089_cyrillic_altgr font (haxrcorp_4089_cyrillic_altgr_extended)
  to add some additional latin characters (mainly for French)
2020-02-16 16:02:38 +01:00
S Handley
b739623579 Split the audio channels into SFX and music channels. This makes the
Music Channel for exploration music a basic Sink without spatial audio
functionality, which is not required.
2020-02-15 21:30:44 +00:00
Marcel Märtens
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01:00
Joshua Barretto
d87fc37aa2 Fixed watch compilation issue 2020-01-27 23:59:59 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Joshua Yanovski
53474a215a Resolving spurious Cargo.lock differences. 2020-01-23 18:18:46 +01:00
Joshua Yanovski
133ba29293 Fixing Cargo.lock after rebase. 2020-01-23 18:18:17 +01:00
Joshua Yanovski
ba043b91a2 Screenshots with F4 in the map, that will have the full resolution of
the displayed map (hopefully).
2020-01-23 18:18:16 +01:00
Joshua Yanovski
1d6d0ea03d Fix all warnings. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
7f2573c561 Updating Cargo.lock. 2020-01-23 18:18:14 +01:00
Joshua Yanovski
1358f1dffa Changes to worldgen, adding more sedmient etc. 2020-01-23 18:18:14 +01:00
Joshua Yanovski
ebe0d14eab Send client 3D rendered map.
Also shares configurable rendering between map generator and server.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
16c24e86b3 Updating Cargo.lock for sanity. 2020-01-23 18:18:13 +01:00
Joshua Yanovski
597bb3c526 Adding many new types of geomorphic laws:
- soil production (currently disabled).
- debris flow erosion (combined with regular stream power law).
- flow computation using multiple receivers.
- filling strategy during drainage network calculations.

Also tweaks a variety of other aspects of erosion.
2020-01-23 18:18:12 +01:00
Joshua Yanovski
825ba1b4f4 WIP fixes: more pleasing uplift generation.
Uses the exponential distribution now.
2020-01-23 18:18:07 +01:00
Rémy PHELIPOT
a6f9f533a5 Localization system for Voxygen
- Added a localization system in voxygen
- Support English and French languages
- Added a configuration option in the interface settings to change
  the language
2020-01-20 21:07:25 +01:00
Joshua Barretto
2c42aaf5f5 Added client-side character saving 2020-01-20 13:37:29 +00:00
Imbris
5666f18ded Add terrain meshing benchmark 2020-01-19 16:02:12 -05:00
Acrimon
71bd7f15ee
Even better conversion impl. 2020-01-13 20:54:56 +01:00
Songtronix
70eb2eed33 remove: discord rich presence 2020-01-10 17:01:50 +01:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
Yusuf Bera Ertan
24013f1a32 Use treeculler crate 2020-01-07 19:40:06 +03:00