Angelica

Quick rating

Community listing page, reviews may not be monitored by the author.

Angelica

By mitchej123Owner

No reviews yet

Rendering Overhaul and Optimization - Improve your FPS

Mod Loaders
Minecraft

About

Description

Angelica

  • The little Angle [sic] that supports shaders while saving your fps from a certain death -boubou
  • Is it obtuse, or accute? -Caedis
  • It's a cute angle -mitchej123
  • It's the angel that pulls you out of OptiFine's hell -Roadhog360

What's in it

  • Shaders - Iris backport & enhancements
  • Terrain - Celeritas 2.5.12 (NH) with threaded chunk building and translucency sorting
  • Default GL 3.3 core profile with Java based fixed function pipeline emulation
  • Optional Renderer selection - OpenGL, or SDL GPU for Vulkan/Metal/Direct3D 12
  • Batching and instancing for entities, tile entities, items, particles and weather
  • Dynamic lights
  • HUD caching
  • Custom fonts and text effects
  • MCPatcher - connected textures, custom item textures, custom colors, random mobs, better skies
  • Bundled NotFine, zoom, FPS reducer

Status

  • OpenGL + Celeritas terrain - Default
  • SDL GPU renderer - Experimental
  • Shaders - Generally Available
    • Complementary + Euphoria Patches is the primary compatibility target
    • Sildurs, Seus, and any other shaders might work
  • MCPatcher features - Alpha
  • HUD caching - Semi-stable

SDL GPU renderer

Optional, OpenGL is the default

  • Vulkan, Metal (macOS) and Direct3D 12 (Windows) through SDL3
  • Needs LWJGL3ify 3.0.25+
  • Falls back to OpenGL when no device can be created
  • Vulkan on macOS via MoltenVK from the optional angelica-moltenvk jar

Core Profile

Targets GL 3.3+ core profile

  • FFP emulation via generated GLSL shaders
  • Display list emulation
  • Software matrix stacks and state management through GLSM
  • GL_QUADS -> GL_TRIANGLES conversion
  • Automatic transformation of mod shaders that use compat-only GLSL builtins (gl_ModelViewMatrix, texture2D, etc.)

Required Dependencies

  • UniMixins >= 0.1.23
  • GTNHLib >= 0.11.19
  • NOTE: Some mods are not required, but a specific version is required if present - see: Minimum versions below.

Minimum versions (if present)

Known (temporary) Incompatibilities

  • Forge Relocation - Currently non Thread Safe; safe if not in use
  • ProjectRed Frames - Currently non Thread Safe; safe if not in use

Potential Incompatibilities

  • EndlessIDs - Compat commits have been made, might work, might not - not fully tested

Known Incompatibilities

  • FalseTweaks - Not currently planned (Looking for volunteers) [Might work if you effectively disable most of the mod]
  • RPLE - Not currently planned (Looking for volunteers)
  • LiteLoader - Install LiteloaderLoader

Permanent Incompatibilities

  • OptiFine [Disabled, won't fix]
  • FastCraft [Disabled, won't fix]
  • BetterFPS [Disabled, won't fix]
  • OptimizationsAndTweaks [Disabled, won't fix]
  • Neodymium - Untested, but unlikely to be compatible. (Chunk Meshing is definitely incompatible, other features might work depending on config)
  • SmoothFont - Equivalent functionality added
  • ClientFixer - Use a resource pack like GTNH-FTI-Standard-Font

Building

  • ./gradlew build, ./gradlew test
  • Subprojects: glsm (state manager, FFP emulation, backends), lwjgl3-backend, sdl-gpu, tracy-client, moltenvk
  • Read the AI policy before opening a PR

Credits

  • ShadersMod
    • Original ShadersMods: karyonix, sonic ether, id_miner, daxnitro
    • eigenraven, Caedis, glowredman, and mitchej123 for the conversion of ASM to Mixin
    • eigenraven and vlaetansky for getting the original ShadersMod compiling again
  • ArchaicFix
    • Includes graphic enhancements from ArchaicFix by embeddedt under the LGPL
  • NotFine
    • Includes modified version of NotFine by jss2a98aj under the LGPL
  • Iris Shaders
    • The Iris Team: coderbot, IMS212, Justsnoopy30, FoundationGames
    • Asek3 for the Iris Forge port Oculus
    • Backported code under the LGPL
  • Sodium / Celeritas
    • JellySquid & the CaffeineMC team, for making Sodium in the first place
    • Embeddedt for Celeritas used under the LGPL 3.0
  • Reese's Sodium Options
  • Neodymium
    • Makamys for Neodymium - Various Tessellator -> Quad functionality taken under the LGPL 3
  • MCPatcherForge
    • Original MCPatcher: Paul Rupe
    • Forge version: Mist475 under LGPL 3.0 with default ctm textures for glass and bookshelves by DarkBum under CC-BY-SA
  • HUDCaching
    • Created by Moulberry, backported from Patcher mod by Alexdoru under the CC-BY-SA-NC 4.0 license
  • Angelica
    • mitchej123, Omni, Makamys, Embeddedt, NanoLive, Caedis, Cardinalstar, Alexdoru, Eigenraven, mist475, Clepto, kurrycat for helping get Angelica up and running!
    • IMS, jss2a98aj, || dbp ||, roadhog360 for advice and moral support
  • Forge 1.12+
    • Some files have been taken from Minecraft Forge under the LGPL 2.1 license and are marked as such
  • FRAPI and Indigo
    • Model building API heavily inspired by/copied from Fabric's; upstream may use it under the original Apache 2.0 license, see LICENSE in com.gtnewhorizons.angelica.models
  • Dynamic Lights
  • Embeddedt and Ferri_Arnus for glsl-transformation-lib
    • Also for work on Monocle which was used as a reference for implementing glsl-transformation-lib
    • Code from both glsl-transformation-lib and Monocle taken under their respective LGPL 3.0 licenses
  • FalseTweaks
    • FalsePattern for FalseTweaks - Item Rendering Optimizations taken from FalseTweaks under the LGPL 3.0 license
  • Beddium
    • Venn and Falsepattern for Beddium - MinimapRenderer, SafeChunkTracker, and some debug commands adapted under the LGPL 3.0 License
  • Mesa - Code ported and/or inspired from Mesa - under the MIT license
    • Display list ID allocator ported from util_idalloc (Copyright 2017 Valve Corporation)
    • FFP vertex shader generation inspired by ffvertex_prog.c (Copyright 2007 VMware, Inc.)
    • FFP fragment shader generation inspired by ff_fragment_shader.c (Copyright 2007, 2009 VMware, Inc. / 2010-2011 Intel Corporation)
    • Fog parameter optimization inspired by st_nir_lower_fog.c (Copyright 2023 Google LLC) and prog_statevars.c (Copyright 1999-2007 Brian Paul)
  • RGSS Terrain Texture Filtering
    • Indiesoft for defold-sharp-sprite, used as the reference implementation under the MIT license

Angelica

 

  • The little Angle [sic] that supports shaders while saving your fps from a certain death -boubou
  • Is it obtuse, or accute? -Caedis
  • It's a cute angle -mitchej123
  • It's the angel that pulls you out of OptiFine's hell -Roadhog360

What's in it

  • Shaders - Iris backport & enhancements
  • Terrain - Celeritas 2.5.12 (NH) with threaded chunk building and translucency sorting
  • Default GL 3.3 core profile with Java based fixed function pipeline emulation
  • Optional Renderer selection - OpenGL, or SDL GPU for Vulkan/Metal/Direct3D 12
  • Batching and instancing for entities, tile entities, items, particles and weather
  • Dynamic lights
  • HUD caching
  • Custom fonts and text effects
  • MCPatcher - connected textures, custom item textures, custom colors, random mobs, better skies
  • Bundled NotFine, zoom, FPS reducer

Status

  • OpenGL + Celeritas terrain - Default
  • SDL GPU renderer - Experimental
  • Shaders - Generally Available
    • Complementary + Euphoria Patches is the primary compatibility target
    • Sildurs, Seus, and any other shaders might work
    • MCPatcher features - Alpha
    • HUD caching - Semi-stable

SDL GPU renderer

Optional, OpenGL is the default

  • Vulkan, Metal (macOS) and Direct3D 12 (Windows) through SDL3
  • Needs LWJGL3ify 3.0.25+
  • Falls back to OpenGL when no device can be created
  • Vulkan on macOS via MoltenVK from the optional angelica-moltenvk jar

Core Profile

Targets GL 3.3+ core profile

  • FFP emulation via generated GLSL shaders
  • Display list emulation
  • Software matrix stacks and state management through GLSM
  • GL_QUADS -> GL_TRIANGLES conversion
  • Automatic transformation of mod shaders that use compat-only GLSL builtins (gl_ModelViewMatrix, texture2D, etc.)

Required Dependencies

  • UniMixins >= 0.1.23
  • GTNHLib >= 0.11.19
  • NOTE: Some mods are not required, but a specific version is required if present - see: Minimum versions below.

Minimum versions (if present)

Known (temporary) Incompatibilities

  • Forge Relocation - Currently non Thread Safe; safe if not in use
  • ProjectRed Frames - Currently non Thread Safe; safe if not in use

Potential Incompatibilities

  • EndlessIDs - Compat commits have been made, might work, might not - not fully tested

Known Incompatibilities

  • FalseTweaks - Not currently planned (Looking for volunteers) [Might work if you effectively disable most of the mod]
  • RPLE - Not currently planned (Looking for volunteers)
  • LiteLoader - Install LiteloaderLoader

Permanent Incompatibilities

  • OptiFine [Disabled, won't fix]
  • FastCraft [Disabled, won't fix]
  • BetterFPS [Disabled, won't fix]
  • OptimizationsAndTweaks [Disabled, won't fix]
  • Neodymium - Untested, but unlikely to be compatible. (Chunk Meshing is definitely incompatible, other features might work depending on config)
  • SmoothFont - Equivalent functionality added
  • ClientFixer - Use a resource pack like GTNH-FTI-Standard-Font

Building

  • ./gradlew build, ./gradlew test
  • Subprojects: glsm (state manager, FFP emulation, backends), lwjgl3-backend, sdl-gpu, tracy-client, moltenvk
  • Read the AI policy before opening a PR

Credits

  • ShadersMod
    • Original ShadersMods: karyonix, sonic ether, id_miner, daxnitro
    • eigenraven, Caedis, glowredman, and mitchej123 for the conversion of ASM to Mixin
    • eigenraven and vlaetansky for getting the original ShadersMod compiling again
    • ArchaicFix
      • Includes graphic enhancements from ArchaicFix by embeddedt under the LGPL
    • NotFine
      • Includes modified version of NotFine by jss2a98aj under the LGPL
    • Iris Shaders
      • The Iris Team: coderbot, IMS212, Justsnoopy30, FoundationGames
      • Asek3 for the Iris Forge port Oculus
      • Backported code under the LGPL
    • Sodium / Celeritas
      • JellySquid & the CaffeineMC team, for making Sodium in the first place
      • Embeddedt for Celeritas used under the LGPL 3.0
    • Reese's Sodium Options
    • Neodymium
      • Makamys for Neodymium - Various Tessellator -> Quad functionality taken under the LGPL 3
    • MCPatcherForge
      • Original MCPatcher: Paul Rupe
      • Forge version: Mist475 under LGPL 3.0 with default ctm textures for glass and bookshelves by DarkBum under CC-BY-SA
    • HUDCaching
      • Created by Moulberry, backported from Patcher mod by Alexdoru under the CC-BY-SA-NC 4.0 license
    • Angelica
      • mitchej123, Omni, Makamys, Embeddedt, NanoLive, Caedis, Cardinalstar, Alexdoru, Eigenraven, mist475, Clepto, kurrycat for helping get Angelica up and running!
      • IMS, jss2a98aj, dbp , roadhog360 for advice and moral support
    • Forge 1.12+
      • Some files have been taken from Minecraft Forge under the LGPL 2.1 license and are marked as such
    • FRAPI and Indigo
      • Model building API heavily inspired by/copied from Fabric's; upstream may use it under the original Apache 2.0 license, see LICENSE in com.gtnewhorizons.angelica.models
    • Dynamic Lights
    • Embeddedt and Ferri_Arnus for glsl-transformation-lib
      • Also for work on Monocle which was used as a reference for implementing glsl-transformation-lib
      • Code from both glsl-transformation-lib and Monocle taken under their respective LGPL 3.0 licenses
    • FalseTweaks
      • FalsePattern for FalseTweaks - Item Rendering Optimizations taken from FalseTweaks under the LGPL 3.0 license
    • Beddium
      • Venn and Falsepattern for Beddium - MinimapRenderer, SafeChunkTracker, and some debug commands adapted under the LGPL 3.0 License
    • Mesa - Code ported and/or inspired from Mesa - under the MIT license
      • Display list ID allocator ported from util_idalloc (Copyright 2017 Valve Corporation)
      • FFP vertex shader generation inspired by ffvertex_prog.c (Copyright 2007 VMware, Inc.)
      • FFP fragment shader generation inspired by ff_fragment_shader.c (Copyright 2007, 2009 VMware, Inc. / 2010-2011 Intel Corporation)
      • Fog parameter optimization inspired by st_nir_lower_fog.c (Copyright 2023 Google LLC) and prog_statevars.c (Copyright 1999-2007 Brian Paul)
    • RGSS Terrain Texture Filtering
      • Indiesoft for defold-sharp-sprite, used as the reference implementation under the MIT license