Commit Graph

61 Commits

Author SHA1 Message Date
Imbris
09239caf88 While copying terrain sample to flat array, keep track of highest and lowest positions with exposed faces in order to constrain further iteration 2020-01-19 16:02:12 -05:00
Imbris
3347438d51 Propagate light via queue to avoid block lookups 2020-01-19 16:02:12 -05:00
Imbris
211c076b8d Remove unnecessary sampling in meshing light calculations 2020-01-19 16:02:12 -05:00
Imbris
33993638fe Experiment with replacing hashmap in light calculations 2020-01-19 16:02:12 -05:00
Yusuf Bera Ertan
4a0a2d5229 Cargo fmt 2020-01-08 20:09:54 +03:00
Yusuf Bera Ertan
fd9cc76786 Reimplement #210 2020-01-07 18:40:45 +03:00
Imbris
4bcc55ad34 improvement: roughly ~20% speedup of terrain meshing by eliminating redundant lookups of terrain blocks 2019-10-24 20:02:29 -04:00
Joshua Barretto
4bbc340f52 Faster meshing, better dusk 2019-10-14 10:48:40 +01:00
Forest Anderson
e7b97e0c66 md5sum assets 2019-10-09 22:42:39 +00:00
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
Joshua Barretto
889fd678c6 More opaque water surface 2019-10-08 12:21:05 +01:00
Imbris
83b5ca3335 Higher level cache abstraction 2019-10-01 02:10:28 -04:00
Imbris
89a1c45ac7 Cache most recent chunk access in terrain meshing 2019-10-01 02:10:28 -04:00
Joshua Barretto
8d2f1d470c Removed unnecessary code 2019-09-27 14:03:08 +01:00
Joshua Barretto
09197049cb Made meshing considerably faster 2019-09-27 11:06:32 +01:00
Joshua Barretto
81dc77c87b Resolved warnings 2019-09-26 13:34:15 +01:00
Joshua Barretto
899a7c56ab Dark water 2019-09-26 00:15:07 +01:00
Joshua Barretto
207568a012 Better day/night cycle, less intense sun 2019-09-26 00:15:07 +01:00
Joshua Barretto
2416b77a33 Meshing performance improvements 2019-09-26 00:15:07 +01:00
Joshua Barretto
3979dddbc1 Faster meshing, better AO, colour correction 2019-09-26 00:15:07 +01:00
Joshua Barretto
f1d590464f Added colour smoothing 2019-09-26 00:15:07 +01:00
Joshua Barretto
6d745fc472 Fixed floodfill algorithm 2019-09-26 00:15:07 +01:00
Joshua Barretto
d745acc948 Floodfill shadows, smooth shadow lighting 2019-09-26 00:15:07 +01: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
Joshua Barretto
1fcb4a0313 Added Generator trait, fixed ocean lighting 2019-08-31 11:44:52 +01:00
Joshua Barretto
b31cca4bb3 Added wheat and sprite rendering 2019-08-19 21:09:35 +01:00
Joshua Barretto
f0e52e6002 Better reflections and water fog 2019-08-18 10:33:18 +01:00
Joshua Barretto
825d8bb632 Fixed water in caves, made water reflection vary with lighting 2019-08-18 10:33:18 +01:00
Joshua Barretto
fa6825f13b Better fluid meshing, disabled fluid backface culling and depth buffer writing 2019-08-18 10:33:18 +01:00
Joshua Barretto
42237a84e4 Added translucent meshing pass, water reflections 2019-08-18 10:33:18 +01:00
timokoesters
d7c159a4e1
Fix warnings all around voxygen 2019-07-04 14:08:01 +02:00
Joshua Barretto
b94c0ace8c Removed RefCell from column cache 2019-06-26 19:14:12 +01:00
Joshua Barretto
d0b38e9875 Worldgen performance improvements, better sun 2019-06-26 19:14:12 +01:00
Piotr Korgól
4644199f1b Make minimap title show location names 2019-06-26 19:14:12 +01:00
Joshua Barretto
5e96e29ff1 AO improvements, day/night cycle 2019-06-26 19:14:12 +01:00
Joshua Barretto
d10ef37528 Fixed AO lighting issue 2019-06-26 19:14:12 +01:00
Joshua Barretto
bc7cee1846 Lighting fixes 2019-06-26 19:14:12 +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
afd983f6f8 Lighting fix 2019-06-06 12:25:06 +01:00
Joshua Barretto
9da2d82197 Added proper VD fog 2019-06-05 20:52:51 +01:00
Joshua Barretto
e2182b1a68 Added basic light 2019-06-03 22:50:47 +01:00
Pfauenauge90
ce6a9ac32d Roots added
fmt

asset fix
2019-06-03 22:50:27 +01:00
Joshua Barretto
024afb9b4a Added desert and snowy areas
Former-commit-id: 220e404de8f64e35d9f54f2b0eeff3fe90c33802
2019-05-29 22:24:47 +01:00
Joshua Barretto
f49796dcef Basic cave test
Former-commit-id: 5b56bb882aca37d7fee1ee9c5e100ad2bf97834e
2019-05-29 14:49:27 +01:00
Joshua Barretto
1e2f130ad6 Added voxel shadows
Former-commit-id: 86f8d6f53073736a7036ad3371eb6f283cfdac3c
2019-05-29 12:01:02 +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
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
67241fec31 Massively increased efficiency of terrain meshing, chunks generate from centre
Former-commit-id: 66217b9974a791044e4b1f3d4580761bd066113a
2019-05-13 13:08:17 +01:00