Releases: GTNewHorizons/Angelica
Releases · GTNewHorizons/Angelica
1.0.0-alpha08
What's Changed
- Add FalseTweaks to temp incompatibilities by @Caedis in #70
- Delete vanilla's global block bounds fields by @embeddedt in #69
New Contributors
Full Changelog: 1.0.0-alpha7...1.0.0-alpha8
1.0.0-alpha06
What's Changed
- Use client world for main thread renders by @embeddedt in #62
- Opt in debug by @mitchej123 in #67
Full Changelog: 1.0.0-alpha5...1.0.0-alpha6
1.0.0-alpha05
What's Changed
- Make glPushAttrib match native behavior if bypassing state manager cache by @embeddedt in #55
- Track the model view and projection matrix by @mitchej123 in #56
- Avoid restoring GL buffers we didn't modify by @embeddedt in #60
- Because of course someone uses DoubleBuffer by @mitchej123 in #61
Full Changelog: 1.0.0-alpha3...1.0.0-alpha5
New Contributors
- @embeddedt made their first contribution in #55
1.0.0-alpha03
What's Changed
- Switch up how we're grabbing the projection & model view matrix to avoid needing to call glGetFloat() again by @mitchej123 in #53
Full Changelog: 1.0.0-alpha2...1.0.0-alpha3
1.0.0-alpha02
What's Changed
- mcpf merge 2.0 by @mist475 in #45
- Add some more guards around GL capabilities
Full Changelog: 1.0.0-alpha1...1.0.0-alpha2
1.0.0-alpha01
- ThreadedTessellator -> RenderBlocks instance Tessellator
- Plus a CME workaround until I can figure out why it's happening
- One inject with multiple methods instead of two injects
- Add AF's Tessellator#reset mixin Fixes screen flashing when chunks are being built
- Thread Saftey
- Make each tesselator use its own ByteBuffer
- Don't make RecyclingList a static variable 🤦
- Add some additions via ITessellatorInstance
- Stop using builtin updateRenderers
- Remove a few unused things in MixinTessellator
- Remove useless casting due to implementing the interface
- Overwrite some more rendering methods to ensure they're not used
- Implement IBlockAccess on WorldSlice
- Currently just proxies to the World... need to get it to use the local cache
- Make WorldSlice use its copied values instead of using the world
- block, meta, and light. Still need TODO biome
- Finish making WorldSlice thread safe
- Remove last unsafe this.world accesses
- Copy biomeData
- Implement getTileEntity(), and getBiomeGenForCoords()
- Remove unused 1.16+ classes - Biome, Colorizer, and ColorBlender related
- Cache worldHeight instead of asking the provider every time
- Debug Screen updates
- Disable Culling for now (until it works)
- Tessellator Updates
- Use one instance on the main thread, and individual instances on every other thread
- Prevent draw() and buffer.reset() on non singleton instance
- Misc cleanup, maybe better growBuffer?
- Fixing splash screen and GUI issues by excluding SplashProgress from GLStateManager transformer
- Update docs
- Fixing a one line in SodiumWorldRenderer that allows the game setting for the distance at which entities will render. Hope it's not too bad mitch :)
- TileEntites now render
- Less silly transparency
- Removing clamp implementation because I missed the one in mathhelper
- Initial sodium entity smooth lighting
- Fix entity smooth lighting
- Fix lerp uses and use render layers properly (#17)
- Remove some uses of blockstate + patch FluidState
- Fix lerp
- Enable Sodium fluid rendering
- Update FluidRenderer.java
- Rewind buffers when copying
- Fix multidraw
- Force cutout on all non-translucent blocks
- Let vanilla handle render pass state
- Rewrite render layer check to use Forge 1.7 hook
- Fix skylight handling
- Fix flickering
- Clone TEs correctly
- Fixing entityDistMulti (I think)
- Fix TEs rendering on the wrong pass
- Buff max render distance to 32 Pretty useless since the integrated server stalls instantly, but our renderer supports it
- Fix fog
- Fix render distance changes being ignored
- Implement entity culling
- Block face culling
- Re-enable occlusion culling
- Fix x/z coordinate mixup when indexing biome arrays Partially fixes wrong biome colors, but at chunk edges it's still wrong because neighboring chunks aren't accessed
- Make a copy of biome data
The old code seemed to work fine but this should be safer - Make CompatMemoryUtil#memReallocDirect preserve buffer position
LWJGL3's MemoryUtil#memRealloc does this, see its javadoc.
Fixes screen flashing and this error getting printed when indirect buffer grows:
GL_INVALID_OPERATION error generated. Bound draw indirect buffer is not large enough. - Use biome data of neighboring chunk sections
Fixes wrong colors at chunk edges - Re-enable fog culling
- Tile entity culling
- Remove some unneeded Sodium code
- Massive code cleanup
- Avoids errors when usin lwjglxdebug
- Bump hodgepodge dep
- Add AngelicaConfig
- Add Mixin to disable MC's builtin checkGLError
- Add configs for iris/sodium
- Iris work
- Move some StateNotifiers to GLStateManager
- Remove some redundant mixins based on sodium/angelica work and rendering state captures
- Add Iris DebugScreenHandler
- rm archaicfix's occlusion renderer and threaded updates
- Implemented Sodium's GUI and a couple of setting fixes (#20)
- Ported Sodium's GUI
- Correct AO
- Fixed Vignette
- Re-enable DirectMemoryAccess
- Adds some code from lwjgl3 in CompatMemoryUtil.java
- Re-add *Unsafe classes
- Remove MixinWorldRenderer
- Add NEID (mixin pr) support
- Only shadow runtime module of antlr4
Reduces jar size by 11 mb - Update NotFine
- Make LongHashMap actually perform like a hash map
- Options GUI Fixes and some option implementations (#22)
- Correct useNoErrorGLContext option
- Added translucency sorting option
- Implemented Particle Culling gives real fps boost, however, it's not as big as i thought
- Begin implementing animateOnlyVisibleTextures
- Correct Donation page opening
- Fixed Shift + P - Now it uses NotFine's GUI, but it think that NotFine's GUI should be rewrited for using other config options
- Correct URL's for Linux
- second code cleanup in particle culling
- Fix incorrect TE map population
- Add optional assertMainThread behind
-Dangelica.assertMainThread=true
- Add back air optimization, but only apply to vanilla air
- Implement more options (#23)
- Combine free regions in GlBufferArena
- Clear global block entity list when initializing renderer
- AF, CompileStubs, and SplashProgress
Remove most of ArchaicFix - Move a few mixins over to angelica
- Disable if org.lwjgl.util.Debug is set
- Only enable Iris/lwjgl debug callbacks if org.lwjgl.util.Debug is set
- Rewrite Tessellator hacks - now using a ThreadLocal instead of only patching RenderBlocks
- Reenable AF mixins, switch to cached debug var, disable incompatible mixins
- Remove AF deps and a late mixin that was missed
- Add Iris Sodium Compat impl
- Fix Sodium GLProgram to use ResourceLocation instead of Identifier
- Start applying Iris -> Sodium Mixins
- Make NotFine menu open if holding shift
- Fixed Tessellators in production env
- Finish Sodium Fluid Renderer (#24)
- Init and pass Sodium LightPipelines
- Remove registry lookup and refactor WorldUtil
- Hook up lighting pipeline
- Patch fluid velocity
- It's alive! Sodium Fluid Renderer is alive!
- Fix face culling not taking third person camera offset into account
- rewrite ACTEntityRenderer to stop transforming ALL the classes
- use ClassConstantPoolParser in TessellatorTransformer to speed up search for Tessellator references
- use ClassConstantPoolParser in GLStateManagerTransformer to speed up search for class references
- rewrite GLStateManagerTransformer and TessellatorTransformer
- merge GLStateManagerTransfor and TessellatorTransformer into one Transformer
- Fixed smooth lighting rendering
- Iris block_id Mixins & BlockStateIdMap initial impl for 1.7.10
- Fix running with lwjgl debug flag & Cleanup old ShadersMod transformers
- Initialize GLStateManager via Mixins instead of all in the static block
- Clean up chunk load/unload tracking, fix chunks rendering without neighbors sometimes
- Fix occlusion culler not re-running after important uploads
Backport of CaffeineMC/sodium#755 - Add chunks to queues without going through occlusion culler
Partially reverts the previous chunk tracking commit, because that logic will reintroduce CaffeineMC/sodium#605
As long as we only rebuild with neighbors present, we shouldn't see the visual seams - Extremely primitive synchronization approach for ISBRH
- Use factory for Spdium menu createElement outputs This will allow NotFine to use Sodium menu elements and vice versa in a future commit.
- Splash Screen Compat
- Separate remaining NamedState enums
- NotFine but it loads Sodium pages
- Hook up NotFine optimizations
- Hook up some NotFine features
- copy over hud caching code from hodgepodge
- backport glstatemanager mixin
- Track thread that currently owns the GL Context in addition to the main thread.
- First pass over FontRenderer, 1300->1400 FPS on my GPU when showing F3
Done:
- A batching vertex buffer builder for font output
- Reduction in drawcalls from 1-3 per character to 1 per font atlas switch
- Mixin to draw the entire F3 screen in one batch, instead of separate batches per line
TODO: - Switch drawing to a VBO
- Cache string meshes across frames
- Cache string width calculations used for layouts
- Multidraw to reduce draw calls even further
- Add JVM flag to bypass GL state caching
- Push/Pop Attrib Hacks -- to be evolved later
- Fix FontRenderer+SplashScreen combo
- HUDCaching tweaks
- Add license
- Jabba Compat, and reset tesselator state even if the chunk render thread blows up
- Initial Xaero's World Map + Minimap Support
- Disable Fastcraft & Optifine if present
- Iris Progress
- Wire up more Iris mixins, informing pipeline stages. Still not rendering anything visible.
- Don't try to transform the server
- Avoid running biome generator on client in singleplayer
- Call world biome retrieval methods instead of copying array directly (#25)
- Shaders now do something!
- Shadow Pass work
- First shadow pass renders; however it moves all around when moving the camera...
- Second shadow pass not running because it makes everything very very dark instead of just rendering translucents
- Actually use the ShadowRenderer Model View when running the shadow pass...
- Enable Sodium SmoothLightPipeline & Iris useSeparateAo
- Avoid repeatedly copying biome data on each Y level (#27)
- Celestial Rotation fixes
- Water progress
- Uniforms audit
- Lightmap workaround
- PBR compiling, stuck on Normal and Specular textures being added in
- Shaderpack selection "works"; ShaderOptions TODO
- Hud caching angelica (#28)
- Potential hud-caching fix
- Shader Options almost working
** Clicking on everything...