godot-lportal/README.md

1.9 KiB

godot-lportal

Portal rendering module for Godot 3.2
Work in progress, not yet released

Video of initial testing:
https://www.youtube.com/watch?v=xF_3Fe2HRdk
https://www.youtube.com/watch?v=NmlWkkhGoJA

Feel free to leave suggestions / feature requests on the issue tracker, especially regarding ease of use.

Current status

The system is mostly working. I am now testing / polishing the interface and adding a few features. I will make a first release before implementing PVS as PVS is an optional feature.

Roadmap

  • Auto conversion of named room spatials and portal mesh instances to LRoom and LPortal DONE
  • Auto creation of mirror portals DONE
  • Recursive determine visibility DONE
  • Prevent memory allocations (use pools for plane vectors) DONE
  • Add support for objects moving between rooms - cameras, players, physics etc - DONE
  • Refactor code, moving LRooms and LPortals outside scene graph DONE
  • Cleanup code, Optimize DONE
  • Handle special cases (multiple portals views into room etc) DONE
  • Optimize non-moving statics DONE
  • Optional convex hull bound for rooms DONE
  • Bug fixing / testing ONGOING
  • Closable portals
  • PVS (primary and secondary)
  • Investigate multiple passes (shadows, lights)

Instructions

See INSTRUCTIONS.md

Installation

You will need to compile Godot from source (for now). See: http://docs.godotengine.org/en/3.0/development/compiling/index.html

Once the engine is compiling okay on your system, to add the module:

  • Create a folder inside godot/modules called 'lportal'
  • Clone / download this repository as a zip file and place the files in the lportal folder
  • Compile the engine as normal, it should automatically pick up the lportal module
  • Note that to export to other platforms you will also have to compile export templates for those platforms

You will know the installation was successful when you see a new Node type 'LRoomManager' in the Godot IDE.