Commit Graph

81 Commits

Author SHA1 Message Date
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Monty Marz
b583f60326 35 new ground sprites, UI fixes 2020-01-25 11:14:02 +00:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
2b38927345 Fixes for nonstandard chunk and map sizes.
Also fixes a longstanding map rendering issue.
2020-01-23 18:18:11 +01:00
Imbris
b3cdde3ce9 fix: panic in terrain meshing 2020-01-19 16:03:27 -05:00
Yusuf Bera Ertan
4a0a2d5229 Cargo fmt 2020-01-08 20:09:54 +03:00
Yusuf Bera Ertan
24013f1a32 Use treeculler crate 2020-01-07 19:40:06 +03:00
Yusuf Bera Ertan
c19c222a90 Use temporal coherence for chunk frustum culling 2020-01-07 18:46:09 +03:00
Yusuf Bera Ertan
e32153e980 Improve frustum culling by using AABBs, add related debug information 2020-01-07 18:44:33 +03:00
Imbris
ec3e075020 fix(player list): Show players not in range on the player list
fix(overflow): Stops including block updates that fail (since chunks
don't exist on the client) in `TerrainUpdates` (which would trigger
meshing of those nonexistent chunks). Furthermore, removes
remeshing of chunks with block updates if those chunks don't have all their
neighbours (since those wouldn't be meshed in the first place).
2019-12-29 20:51:05 -05:00
Joshua Barretto
28e625635f Split terrain rendering to avoid redrawing skybox 2019-11-19 19:09:22 +00:00
Joshua Barretto
aa111d34e5 Added clouds 2019-11-19 19:09:22 +00:00
Joshua Barretto
671313a523 Overhauled water shaders 2019-11-05 15:45:01 +00:00
Monty Marz
a0a8011d7e Updated: Help Window, Map, Item Descriptions 2019-10-27 22:22:40 +00:00
Monty Marz
fdfab6a807 refactor: create_projectile doesn't take a light
It returns a builder so the caller can just do it
2019-10-17 20:59:36 +00:00
Joshua Barretto
04c64dc122 Better (and faster) water shaders 2019-10-17 17:11:55 +01:00
Joshua Barretto
c01e19fc05 Don't render water that isn't there, improved chunk render order 2019-10-16 12:40:18 +01:00
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
Monty Marz
4c1eba1f3e Assets update, aesthetics, minor fixes 2019-10-04 18:27:12 +00:00
Justin Shipsey
27f3bebe40 Char overhaul and asset update 2019-10-02 10:05:17 +00:00
Joshua Barretto
e22fe81a2f Added velorite 2019-09-26 00:15:07 +01:00
Joshua Barretto
499344ccab Added entity shadows 2019-09-26 00:15:07 +01:00
Joshua Barretto
46fdc87014 Animated chunk loading 2019-09-26 00:15:07 +01:00
Joshua Barretto
8bcb3c44f7 Reminder about remesh for lighting updates 2019-09-26 00:15:07 +01:00
haslersn
d99bef6803 voxygen: Make the Terrain struct generic 2019-09-06 15:43:31 +02:00
haslersn
1796c09ca1 common: Rework volume API
See the doc comments in `common/src/vol.rs` for more information on
the API itself.

The changes include:

* Consistent `Err`/`Error` naming.
  * Types are named `...Error`.
  * `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
  to an upcoming change where a “map” in the game related sense will
  be added.
* Add volume iterators. There are two types of them:
  * _Position_ iterators obtained from the trait `IntoPosIterator`
    using the method
    `fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `Vec3<i32>`.
  * _Volume_ iterators obtained from the trait `IntoVolIterator`
    using the method
    `fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
  Those traits will usually be implemented by references to volume
  types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
  type which usually implements several volume traits, such as `Chunk`).
  * _Position_ iterators iterate over the positions valid for that
    volume.
  * _Volume_ iterators do the same but return not only the position
    but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
  `Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
  * `RasterableVol` represents a volume that is compile-time sized and has
    its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
    because such a volume can be used with `VolGrid3d`.
  * `RectRasterableVol` represents a volume that is compile-time sized at
    least in x and y direction and has its lower bound at `(0, 0, z)`.
    There's no requirement on he lower bound or size in z direction.
    The name `RectRasterableVol` was chosen because such a volume can be
    used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
Monty Marz
943495c0c5 Pixel art for axe and flying rod, shadow for zone names and death message 2019-09-05 17:28:33 +00:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00:00
Joshua Barretto
cc214982bf Fixed warnings 2019-08-31 11:44:52 +01:00
Joshua Barretto
17a61e0b7c Fixed terrain sprite transparency issue 2019-08-31 11:44:52 +01:00
Joshua Barretto
27c208d1a5 Fixed terrain sprite transparency layering 2019-08-31 11:44:52 +01:00
Monty Marz
fade04d44e Pfauenauge/plants grass 2019-08-21 17:22:05 +00:00
Joshua Barretto
0fcb3a174d Random terrain sprite orientations 2019-08-21 16:22:49 +01:00
Joshua Barretto
75e1ee3cd7 Added per-instance transformation matrix, variable wind swaying 2019-08-21 13:47:29 +01:00
Joshua Barretto
590ce1a987 Fixed sprite mesh offsets 2019-08-20 16:54:12 +01:00
Joshua Barretto
4ed21a2e59 Sprite render distance tweaks and optimisations 2019-08-20 11:05:01 +01:00
Joshua Barretto
5f09ab3a4f Added multiple sprite block kind support 2019-08-20 00:31:11 +01:00
Joshua Barretto
7960e6ea6d Sprite distance fading, grass 2019-08-19 22:54:16 +01:00
Joshua Barretto
b31cca4bb3 Added wheat and sprite rendering 2019-08-19 21:09:35 +01:00
Joshua Barretto
42237a84e4 Added translucent meshing pass, water reflections 2019-08-18 10:33:18 +01:00
Acrimon
fda47fc322 [Voxygen] Switch mutexes to parking_lot and channels to crossbeam. 2019-08-16 00:07:09 +02:00
Acrimon
0bbef0d851 Use hashbrown in voxygen instead of a billion different shitty maps. 2019-08-11 21:52:23 +02:00
Joshua Barretto
b34d22565e Added point lights 2019-07-21 19:22:49 +01:00
Joshua Barretto
ce327445a7 Send block diffs instead of entire chunks on block change 2019-07-20 16:41:03 +01:00
Acrimon
20ac81a986 Fixed some misses. 2019-07-12 20:51:22 +02:00
Joshua Barretto
d2ccbafe59 Made mesh scheduling fairer 2019-07-06 20:00:17 +01:00
Joshua Barretto
0c9843999b fmt 2019-07-06 20:00:17 +01:00
Joshua Barretto
51ad1f1995 Improved remeshing performance 2019-07-06 20:00:17 +01:00
Joshua Barretto
ef973faadf Throttled mesh scheduling to improve remesh performance 2019-07-06 20:00:17 +01:00