Angelica更新日志 - MC百科
2026-03-03 11:08:50
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 dataThe old code seemed to work fine but this should be safer
Make CompatMemoryUtil#memReallocDirect preserve buffer positionLWJGL3'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 sectionsFixes 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 antlr4Reduces 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 SplashProgressRemove 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 uploadsBackport of CaffeineMC/sodium-fabric#755
Add chunks to queues without going through occlusion cullerPartially reverts the previous chunk tracking commit, because that logic will reintroduce CaffeineMC/sodium-fabric#605As 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 F3Done:
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 lineTODO:
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...