Skip to content

Rendering / Major refactoring

Moritz Zwerger requested to merge rendering into master

This merge request introduces basic rendering.

Done

  • Render world using shaders and vertex buffers
  • More complex models
  • Other
    • Config rework 8eeff29d
    • Support for 21w03a, 21w05a, 21w05b, 21w07a, 21w08a, 21w10a, 21w11a, 21w13a, 21w14a, 21w15a, 21w16a, 21w17a, 21w18a, 21w19a, 21w20a 28f9c508, e7c76e35, a17c6474, 6d9fea3c
    • Other fixes 5d759302, 93013fe4
    • Convert more classes to kotlin
    • Improve version mapping 7262c384
    • Migrate to PixLyzer assets: 41199767
    • Rename ModIdentifier to ResourceLocation: 498ffd95
    • Repalce all *Position classes with Vecs: 56f310eb
    • Refactor AssetsManager: fb8e29cb
    • Mayor packet refactoring
    • Way more refactoring...

ToDo

  • Implement all models, see https://minecraft.gamepedia.com/Model
  • Fluids
  • Performance
    • Face culling 124d5f48
    • Chunk/Frustum culling: 6e139bc1, 7bd34f85
    • Chunk unloading 2ce1f233
    • Improve memory usage 18324e07, 71a75b7b, f38d8649, 2eb44713, 28d9f9bb, cead3689
    • Improve performance with high render distance (join in a casual world)
    • Improve VRAM Usage: c78cc753
    • Improve Mesher
      • Wait for all neighbor chunks to be loaded before preparing 312486cf
      • Don't render half faces between to blocks (e.g. anvils) 6cc781a7, bdfe1345
      • Improve Performance cead3689, da11f1f0
      • Better mesher (don't draw faces between anvils)
      • Fix "better mesher": missing bottom beacons face, still faces between glass and blocks and between grass blocks 6d51136a
      • Don't draw west and east faces between a block and glass panes
  • Animations
    • Textures e13d0b02, ad647013
      • Support frames
      • Interpolate
      • Fixes (rejoin bug, wrong frames, wrong speed) 046c9b3b, 4468222e
      • Allow more sprite animations (current limit is 128, theoretical limit is 4096. Should be replaced with a shader placeholder) 283f3903
      • Fix on Intel GPUs (some textures are just replaced with the debug texture)
    • Particles
  • Fixes
    • Rotation fixes 3cef6bfb
    • Launcher connect fixes cb274764
    • Entity meta data index json broken for ~ 1.16.1 41199767
    • Multi resolution textures 195c01a6
    • dark forest Tinting (grass) 701e3362
    • Chunks won't get saved sometimes or won't be prepared (Maybe an error with ConcurrentHashMap) ede8309c, ffc34ed1
    • Support for 1.13
  • Transparency
    • Force render transparent faces e5c8f43a
    • Create second mesh 6930fa37
    • Cull face fixes
    • Don't render faces between 2 same blocks? (glass, but what about leaves?) 6ab06cbd
    • Mipmaps 134ec620
    • Sort faces
  • GUI
    • HUD
      • Debug screen
      • Input field 48665288
      • Chat
        • Chat input field 48665288
        • Chat messages
        • Chat box (also scrolling, etc)
      • Hotbar 855a73df
      • Scoreboard
      • Title
      • Bossbar
      • Escape screen
      • Item rendering
      • Inventory
      • Effect list
    • Font rendering
      • Font loading
      • Basic coloring and font rendering
      • ChatComponent integration
      • Fix Monospace b089ffb4
      • Dark background 5ca9471a
      • Line breaks 4e7f300e
      • Bold, Italic and Obfuscated
      • Font outline (used in hotbar level)
      • Shadow
    • Improve Performance and memory usage: 8ffce5f5, d9b48cc8
    • Prepare in separate thread
    • Fix "half pixel bug" (affects all hud textures): bdb86e00, 9905173e
  • Lighting
    • Network, Basic 93c1e32a
    • Calculate light by our self
    • Reading in old versions
    • Smooth lighting, occlusion
    • Cool light shader effect
  • Physics
    • Send correct camera position
    • Collisions: bb8a8489
    • Real movement
    • Sprinting
    • Flying
    • Jumping
    • Potion modifiers
    • Correct velocity
    • Fluid, Soulsand, Slime, ... (jump and walk modifiers)
  • Block breaking and placing
    • Improve raycasting
    • Show block outline
    • Break
    • Place
    • Implement all place/break game logic
    • Digging
      • Basics
      • Advanced
      • In/under Water
      • Tags
      • Pickaxe checks
  • Sounds
  • Biomes
    • Network 329f30f6
    • Correct colors d37b5042
    • Reading in old versions
    • Fuzzy noise Biomes (Voronoi) eaca291c
    • Fix foliage color for minecraft:swamp d0f063bf
    • Biome blending 130e0f2e, 91241194
    • Correct grass color for minecraft:swamp biome (uses noise too)
  • Config
  • Refactoring
    • Remove VersionValueMap 1ee051b1
    • Extract all data from PixLyzer / create default registries
  • Other things:
    • Fog
    • Clouds
    • Skybox 250778e6
      • Correct sky color (with color transition)
      • Nether and End sky color
      • Daylight cycle
      • Atmosphere
      • Sun, Moon and stars e6f35564
    • Grass and flowers random offset c3c4981e
    • Correct lily pad rotation (coordinate seeded random block model) (see AbstractBlock.AbstractBlockState::getModelOffset)

Closes #4 (closed), #9 (closed)

Edited by Moritz Zwerger

Merge request reports