Giter Club home page Giter Club logo

immersiveportalsmod's Introduction

Immersive Portals Mod

It's a minecraft mod that provides see-through portals and seamless teleportation.

https://www.curseforge.com/minecraft/mc-mods/immersive-portals-mod

(The experimental website: https://qouteall.fun/immptl)

This is one of the most complex minecraft mods.

  • It eliminates the limitation that only one dimension can be loaded and rendered on client
  • It eliminates the limitation that only the chunks nearby player can be synchronized to client
  • It eliminates the limitation that client can only load and render chunks nearby the player
  • The portal rendering is recursive which needs proper management of minecraft rendering context of multiple dimensions
  • The portal can have rotation, scale and mirror transformations
  • The teleportation is seamless, creating the feel that the space is connected
  • Cross portal collision
  • Cross portal entity rendering
  • Place and break blocks through portal
  • Portal frame matching (supports any shaped portal frame and adaptive matching)

Portals let the game loads more chunk and render more chunks which creates additional performance cost.

In vanilla when the player moves only the edge chunks are loaded/unloaded. But with this mod approaching/getting away from portals cause the game to abruptly load and unload many chunks which cause lag spikes. These optimizations are used to mitigate the lag spikes:

  • Reduce the sections being rebuild during portal rendering
  • Change portal render distance gradually on the server side
  • Defer chunk unloading
  • Defer the client light updates caused by chunk unloading
  • Reduce the lag spikes caused by dynamically creating GL buffer objects

It also provides performance configurations to adjust the performance.

Many optimizations have been made to portal rendering which includes:

  • Do aggressive frustum culling during portal rendering
  • Do aggressive frustum culling for the sections that are hidden by the portal during outer world rendering
  • Reduce occlusion query stalls by utilizing temporal coherence
  • Merge the rendering of the portals that have the same spacial transformation (for example the scale box end portal)

How to run this code

https://fabricmc.net/wiki/tutorial:setup

Wiki

https://qouteall.fun/immptl/wiki

Discord Server

https://discord.gg/BZxgURK

immersiveportalsmod's People

Contributors

2xsaiko avatar adoxes avatar benfah avatar froyo4u avatar i509vcb avatar joelosler avatar juliand665 avatar justmarkov avatar logandark avatar lucilletea avatar moleculor avatar pieking1215 avatar qouteall avatar scotsguy avatar thefloydman avatar

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.