Commit Graph

77 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
a90ceddde0 Fixed cold near oceans, faster meshing 2019-09-27 12:46:20 +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
b62830b8b4 Better hills 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
2bd8967921 Prevented extreme blending 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
Imbris
34221a0f1d Disable AO 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
Imbris
c09eb77149 Add srgb converion in shaders 2019-08-15 23:56:14 -04: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
451bbe9921 Basic region generation 2019-06-26 19:14:12 +01:00
Joshua Barretto
bc7cee1846 Lighting fixes 2019-06-26 19:14:12 +01:00
Joshua Barretto
fa8f3a4b49 Tweaked lighting and AO 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
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