i dunno if this has changed but last i checked every item slot in minecraft's GUI was also rendering one of these 3D items except that they're rotated so they look like 2D images and as far as i know there's no caching going on
meanwhile block game just caches 2d images to use as an icon for every item in the game at startup because uhh, hello?? why wouldn't you do that???
before i started block game there were lots of things in minecraft that made me go "that's weird why wouldn't they do it this better way? i guess the microsoft funded multi billion dollar studio must have a good reason for it"
and now that i've been making block game i am starting to strongly suspect they do not, in fact, have a good reason for it
@eniko I think this is a common thing! Developing software at scale necessitates streamlining, and the best way to streamline is to commodify the software process: remove custom code, cleverness, optimisation tricks, etc. and just rely more on brute force / volume when it's even slightly cost effective to do so.
Most for-profit software is unimaginably bad in ways you can only begin to imagine that just wouldn't fly if developed by individuals or in community settings.
@jsbarretto yeah. im pretty sure they just did this so that they have one render path where everything is a 3d model, whether its a 2d item or a block rendered in the inventory. all standardized, no exceptions, no complications in the content pipeline, much easier to avoid bugs when adding new stuff
and that's why my old laptop can't run minecraft anymore
@jsbarretto yeah
on the other hand, in block game i've decided that every item is a 3d model, and ergo on startup i just render them once and then cache them as an icon
and i just use the icon to render the item. so it's not like this is *actually* noticably more complex for anyone involved (leaving aside that obviously it's just me atm)
@eniko So... as luck would have it, I ended up writing a software rendering library a few years ago as a weekend learning project. I was already familiar with the API (because I'd built it, ofc), and it was 10x simpler to integrate than actually telling the GPU to do something, so I just threw it in: https://github.com/zesterer/euc
Before that we only had extremely simple top-down icon images, but now we have nice isometric renderings of tools, armour, food, etc. that look much nicer.