This makes the DPS statistic more accurate and reduces the impact from
off-by-one errors as described in #1643fixes#1656
@ikabod-kee please check this out
- [x] Prototype
- [x] Remove old code
- [x] ~~Apply this form of dithering to other shaders as well (item
drop)~~ → old dither looks better for items and display model
- [x] Can we finally remove the dither seed?
- [x] Check performance impact → it's slightly (insignificantly) faster
even
Related to: #1507closes#1533
I'm pretty sure that the rest of the moving into a comptime mod
interface can be done in a future pr
---------
Co-authored-by: Krzysztof Wiśniewski <argmaster.world@gmail.com>
- reduces allocator overhead (less items in the free list of each
buffer)
- reduces the chance to run out of fake GPU memory (we can now
effectively store 50% more faces than before)
- reduces the chance to run out of actual GPU memory
- reduces height of lag spikes of buffer resizes (but increases their
frequency)
- makes it more clear in which LOD (LOD1) the main memory bottlenecks
are
- reduces the occlusion culling lag (#1161) after disocclusion of parts
of the screen (roughly halving the impact).
It however does decrease the granularity of timing information, since I
can no longer look at the passes separately, but I think that's a fair
price to pay
- [x] cleanup
- [x] Rotation (already merged)
- [x] basic GUI
- [x] sign models and textures
- [x] sign blocks
- [x] update the text on the client
- [x] Figure out block entity rendering
- [x] Render the text to a texture on update
- [x] Render the texture in the world in the location of the sign
- [x] Use varint instead of u32 for storing the block data lengths,
(now, while we can still change it)
- [x] Sync the text with the server and all clients
- [x] Figure out block entity storage on the server
- [x] Send the entity data of the initial chunk
- [x] Store the text on the server
- [x] Set the chunk as changed whenever a block entity data update
happens, so we actually store it
- [x] Disable or figure out optimized local chunk transmission
- [x] fix memory leak
- [x] Rethink some of the API (do we need onPlace/onBreak, when there is
unload and updateData?)
- [x] Remove the background shadow from text, it produces too much
aliasing
- [x] Figure out if the default should be black or white
- [x] Correctly center the text
- [x] Why are newlines not working?
- [x] Check if a deadlock is possible on deinit --- it would be possible
only if another thread has a reference to it, which should not be the
case when unload is called.
- [x] Set the text margin and sizes reasonably
- [x] Make sure the GUI fits with the sign width
- [x] Create an issue for configurable sign texture size and
configurable default color
fixes#367
---------
Co-authored-by: Carrie <122191047+careeoki@users.noreply.github.com>
Co-authored-by: OneAvargeCoder193 <85588535+OneAvargeCoder193@users.noreply.github.com>
* Move to glslang's convention for shader file suffix
* Update ci.yml
* Oops, a mistake in the shader, how could that happen?
* Does the command error on its own?
* Update ci.yml
* Revert "Oops, a mistake in the shader, how could that happen?"
This reverts commit 869c3323f3d3b5fa607b40e7847c389a12b01f33.
* Update ci.yml
* Add the vulkan headers from the new Cubyz-libs version
* Add a GraphicsPipeline abstraction that's based on Vulkan's pipeline parameters.
This will help get rid of all the glEnable implicit state, and it will make #102 easier.
* I'm leaving out the viewport for now, it seems that it would make migration difficult
* Small fixes and rename graphics.GraphicsPipeline to just graphics.Pipeline
* Pipelinify the UI shaders
* Fix formatting
* Pipelines everywhere
* Fix the crosshair and remove remaining glEnable and related calls
* fix format
* How many more things does it need to clear the thing correctly?
* Fix selection
* Fix bloom
* Remove unused `directionalLight` uniform
* Add glslang libraries
* Update to the new Cubyz-libs version
* Dehardcode OS-dependent library file name stuff
* Audio somehow crashes on close, not sure why but I assume it's probably because of the library being compiled with a new zig version.
* Remove irrelevant uniforms from Window uniform list
* Remove unused itemdrop uniform
* Implement SPIR-V compilation code, the actual output is discarded
* Improve linking shader errors by passing a file path
* Fix formatting
* Batch block updates
* Apply review change requests
* Allow blockUpdate to carry multiple block updates in single message
* Read until there is nothing left
* Use mesh_storage.BlockUpdate
* Break instead of boolean
* Restore client side neighbor updates
* Move side check in blockUpdate out of the loop
* Update src/utils.zig
* Fix minor issues
* Reverse ownership logic + change contains into liesInChunk
* Update liesInChunk
* No name for upadeBlock param
* Apply review change requests
* Fix formatting
* Restore onBreakClient where it should be
* Update src/renderer/chunk_meshing.zig
* Update src/renderer/chunk_meshing.zig
* Converge formatting with master
* fix formatting (https://github.com/ziglang/zig-spec/issues/38 is so stupid)
---------
Co-authored-by: IntegratedQuantum <jahe788@gmail.com>
* really bad and inefficient star code i think
* add stars that dont work during the day but look cool
* remove galaxy shape and replace it with a simple sphere
* add broken background
* make stars affected by fog
* make the stars additive
* remove commented code in shaders
* remove unused variables in the shader
* make the stars spin
* make stars not have bloom
* fix formatting
* temp changes
* fix formatting (still temp changes)
* switch to cubyz random numbers
* multiply star matrix in cpu instead of gpu
* changed star to be twice as big, not affect by resolution as much, and also be loaded from a texture
* remove trailing whitespaces
* remove unused constants
* simplify the code by removing a log and power
* optimizing the stars
* remove debug code
* make stars triangles instead of points
* simplify the math more
* give star ssbo unique id
* fix formatting issues
* make array multiline
* fix formatting
* remove files i accidentally added
* remove random obj file
* fix some issues
* use square distance
* fix formatting
* small change
* fix some stuff
* fix other things
* comp error
* more stuff
* fix some stuff with the stars
* test
* fix formatting
* fix more formatting
* test 2
* fixes
* changes
* changes
* fix formatting
* fixes
* remove patch
* Format all the files
* Fix compilation error.
* The install scripts now patch render.zig from the zig standard library.
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update the formatter, it doesn't need to run on .zig files anymore.
* Update ci.yml
* Update ci.yml
* Add a mistake to check if it works
* IT WORKS!
fixes#751
This allowed reenabling item consumption when placing blocks. Durability and item drops are still work in progress.
Currently all game modes consume items. Temporarily reverts some changes from #739, until the game mode is synchronized to the server as well.
progress towards #670