An experiment to display any FOV (0-360Β°) in a modern game.
Continuing where blinky left off. Rather than exposing a myriad of options, the goal is to provide an intelligent default projection based on the chosen FOV:
0 90 180 270 360 degrees
|-------------|-------------|-------------|-------------|
straight> | standard | panini | mercator |
or |-------------------|---------------|-------------------|-> equirect when exactly 360
curved> | standard | stereographic | winkel tripel | for panoramic recording
|-------------------|---------------|-------------------|
We are using this minecraft mod as the base for this experiment.
This currently only works for Windows. Run the following to start a game with the mod installed.
gradlew.bat runClient
NOTE: Prior to running this, I had Minecraft and Minecraft Forge installed (both 1.11.2). But I am not actually sure if this is required, since I believe this gradle setup is building the entire game itself from decompiled sources?
IntelliJ can be setup to allow autocomplete, which is useful for exploring the Minecraft/Forge APIs in-place. If you don't wish to use an IDE, you can explore the APIs the old-fashioned way using this Forge javadoc (outdated but probably mostly relevant).
You have to create your own IntelliJ project since it cannot be easily version-controlled. I loosely followed these instructions:
./gradlew setupDecompWorkspace
build.gradle
file*.iml
file > Import Module./gradlew genIntellijRuns
-Dfml.coreMods.load=mod.render360.coretransform.CoreLoader
in VM options*_main
The game should start with our mod installed.
This will build a jar file that users can install. (Not currently working when I try to install to a 1.11.2 forge mods folder.)
gradlew.bat build
# outputs a jar to build/libs