Giter VIP home page Giter VIP logo

hesperus's Introduction

Hesperus: A fork of Phosphor

How does it work?

Hesperus makes a variety of modifications to the vanilla lighting engine in order to improve performance. The key highlights can be found below.

  • The code responsible for propagating light changes has been completely rewritten to be far more efficient than the vanilla implementation.
  • Light updates are postponed until the regions they modify are queried. This allows lighting updates to be batched together more effectively and reduces the number of duplicated scheduled light updates for a block. This significantly reduces the CPU time spent propagating skylight updates.
  • Skylight propagation on the vertical axis has been fixed to take into account incoming skylight from neighboring chunks, fixing a variety of lighting issues created during world generation and large operations involving large block volumes (such as /fill.)
  • Chunk lighting is only performed once all adjacent chunks are loaded so sky and block light propogation is spread into neighbors correctly, preventing various visual errors.
  • Through fixing various errors in vanilla's lighting engine implementation, many checks performed when relighting blocks are now skipped, reducing the overhead of lighting updates.

This list is still incomplete and a technical writeup of how Hesperus achieves such significant gains is in the works.

License

Hesperus is licensed under GNU GPLv3, a free and open-source license. For more information, please see the license file.

hesperus's People

Contributors

embeddedt avatar jellysquid3 avatar kappa-maintainer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

howardzhy hahawth

hesperus's Issues

Breaking multiple blocks at once can cause lighting to get "stuck"

I was playing on 1.12.2 and I noticed that breaking multiple blocks with OreExcavation/VeinMiner can cause lighting to get "stuck" when Hesperus is installed (doesn't happen with Phosphor). It also seems like the issue is worse and more common if other mods are installed.

Hesperus (no other mods installed):
2023-07-27_17 22 16

Hesperus and a whole bunch of mods:
2023-07-27_17 11 52

Almost-instant crash with Hesperus

Something doesn't seem to work right with the mod, the modpack crash directly on startup with Hesperus, also for some reason the crash seems to generate a random number(never one) of identicals crash reports at the same time.

Mod version: 1.12.2-0.2.9.3-SNAPSHOT.jar

Modpack: Tech and Chaos v1.3
Note: Phosphor does not work on this versions, from what I understand it didn't support the new version of MixinBooter, both Hesperus and Phosphor work in this version

Logs: latest.log crash-2023-10-23_22.14.25-client.txt

I hope it's not a issue you already know and so didn't post this too soon.

bug with Advanced Holograms

I am having a strange visual glitch when Hesperus is installed. my server has a mod called Advanced Holograms, it's only server side but for some reason i'm seeing what looks like leads coming from the hologram to different entities. I have pictures and can link you to my modpack for further testing if you like: my modpack: https://www.curseforge.com/minecraft/modpacks/the-valley-1-12-2 Advanced Holograms: https://www.curseforge.com/minecraft/mc-mods/advanced-holograms
2023-06-06_00 37 28
2023-06-06_00 37 36
2023-06-06_00 37 38

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.