Commit Graph

235 Commits

Author SHA1 Message Date
Joshua Barretto
5f2d0021a3 Reversed water draw order 2020-04-23 18:19:40 +01:00
Joshua Barretto
0021bd6452 Added new settlement generation to world, basic rendering 2020-04-23 18:19:40 +01:00
Joshua Barretto
944a37b848 Initial settlement generation work 2020-04-23 18:19:40 +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
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
Joshua Barretto
6fc2096dae Reenabled towns, lighter days 2019-07-06 20:00:17 +01:00
Joshua Barretto
1641c4f788 Added mesh worker queue limit to prevent throttling of meshing queue 2019-07-06 20:00:17 +01:00
Joshua Barretto
489f5f6b2a fmt 2019-07-01 14:38:45 +01:00
Joshua Barretto
586b62ea28 Fixed remesh data race 2019-07-01 14:38:38 +01:00
Joshua Barretto
90566243ca Removed debug printing 2019-07-01 14:37:32 +01:00
Joshua Barretto
c8a2e4722c Fixed chonk memory usage bug, added block manipulation 2019-07-01 14:36:45 +01:00
Joshua Barretto
581c4d0e3b Fixed frustum culling efficiency bug 2019-06-13 11:59:05 +01:00
Cody
14ac5babd4 Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes. 2019-06-06 14:48:41 +00:00
Joshua Barretto
8da46b48ac Added frustum culling for chunks 2019-06-06 10:04:37 +01:00
Joshua Barretto
66cd8de0e1 Only draw chunks outside of fog boundary, reduce fog strength 2019-06-06 08:13:58 +01:00
Joshua Barretto
9a8552d5fb Added rocks 2019-06-05 20:52:51 +01:00
Joshua Barretto
92f2d36b0c Optimised sub-terrain chonk storage, fixed hash chunk bug, altered terrain base 2019-06-05 20:52:51 +01:00
Joshua Barretto
fc25dc8c7f fmt
Former-commit-id: 1f7bec8da117091b3f2e8f58ce45b9caf1b6c89d
2019-05-21 23:31:38 +01:00
Joshua Barretto
5b2da36fd0 Added mega worldgen
Former-commit-id: f7c88a1d387c282b78ab834dd63e64432b371552
2019-05-21 22:51:41 +01:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
Joshua Barretto
7174830279 fmt
Former-commit-id: 71912bdd2b8f40020153c5696cd5cc1af3f154cc
2019-05-17 18:54:56 +01:00
Joshua Barretto
91184356e7 Added chonks
Former-commit-id: a62fb321dbfb7541feaa9de4e641db9887b061fd
2019-05-17 18:44:30 +01:00
Joshua Barretto
8af606e348 Fixed singleplayer logout crash due to orphaned mesh worker
Former-commit-id: 2b8c5aa0c906223ac043db8137ad95a0e29407c5
2019-05-15 13:26:14 +01:00
Joshua Barretto
67241fec31 Massively increased efficiency of terrain meshing, chunks generate from centre
Former-commit-id: 66217b9974a791044e4b1f3d4580761bd066113a
2019-05-13 13:08:17 +01:00
sxv20_
592477752e move sample() to returning VolMap, incomplete VolMap meshing code
Former-commit-id: 77d3db6c3bf28364089647802f83d2d00f3a152d
2019-05-13 11:03:47 +01:00
sxv20_
a5db1fd0a6 fix TODO (unnecessary mpsc clone)
Former-commit-id: 6f6319fa6bf86ee4eec4778c6795f71beab21e89
2019-05-13 11:03:47 +01:00
sxv20_
c2a806910b fix chunks not getting rendered once unloaded and reloaded, remove weightings
Former-commit-id: d98d1e9bb767d80173c531e8914163c1cc23d7fc
2019-05-13 11:03:47 +01:00
sxv20_
38da6af3c6 change remeshing queue from LinkedList to HashMap, add remesh weightings
Former-commit-id: 28f0826501539848ca97721aff5057ccb4599736
2019-05-13 11:03:47 +01:00
Forest Anderson
993388e56a Ran fmt on codebase
Former-commit-id: 7fecffa1dc66fffba4f07d45fb80960dc5178f4f
2019-04-29 20:37:19 +00:00
Joshua Barretto
f136a63f69 Adjusted terrain loading and meshing performance
Former-commit-id: b55800b559289bf925d56096f29c0cfbc22439d2
2019-04-25 17:52:11 +01:00
Joshua Barretto
f210de09df Added raycasting (needs testing) and basic character terrain collision
Former-commit-id: be6bfacfd28e777a64d8157fce129f8072e20b38
2019-04-25 17:52:11 +01:00
Joshua Barretto
61afb98869 Foobar
Former-commit-id: adac9eea1bd685a8eee275e5a05a74c287762e22
2019-04-25 17:52:11 +01:00
Joshua Barretto
f9f434a1c2 Started work on worldgen
Former-commit-id: 277a4b2a0a5a393c590a710aebaf62e5cce2ad1d
2019-04-25 17:52:11 +01:00
Joshua Barretto
8a37662cf0 Cleaned up codebase, added cursor grab toggle 2019-01-23 22:21:47 +00:00
Joshua Barretto
248577bdef Added test terrain loading and meshing 2019-01-23 20:01:58 +00:00
Joshua Barretto
41b6672743 Added Terrain type to scene 2019-01-15 15:13:11 +00:00