Commit Graph
26 Commits
Author SHA1 Message Date
MineTec 318a309580 rescale rotated block elements like vanilla (cross plants, amethyst, campfire, fire, raised rails), euler x/y/z element rotations (hanging sign chains), inverted inner-face elements (spawner, vault), vanilla-like water: single surface blend with depth sky light instead of path-length density, water faces against glass/ice/leaves, block geometry and water test scenes 2026-11-04 19:25:17 +01:00
MineTec 2c2e9e2e32 render emissive eye/glow layers, per-model vanilla render types (cutout vs translucent, unshaded), sheep undercoat and vanilla wool colour, angry wolves, tipped arrow and invulnerable wither textures, small armor stand armor textures, elytra rest pose, vanilla mob arm poses (piglins, illagers), layer test scenes 2026-11-04 18:59:14 +01:00
MineTec 45d033bd89 entity state poses from the vanilla dump: sleeping/sitting/crouching/swimming/gliding, fox/cat/panda/parrot/bat/camel/sniffer poses with pose transforms, per-sub-model poses (baby pivots), armor-stand part poses and body pitch via rotation bindings, fish in water, beds, shoulder parrots, pose test scenes 2026-11-04 17:51:01 +01:00
MineTec 6660ebe557 pinhole camera ray map like vanilla (vertical fov 70, horizontal from aspect, pixel centres, no roll) instead of yaw/pitch corner rotation that squashed photos vertically by cos 35, shared buildRayMap in test tools, camera projection test scenes 2026-11-04 17:07:19 +01:00
MineTec 88bae41a03 primitive chunk table in world snapshot instead of colliding long-keyed hashmap, bounded cache for tinted/composited mob and banner textures, vanilla dump with nested model json, village benchmark and perf test scenes 2026-11-04 16:59:42 +01:00
MineTec b5baffebbd entity bvh with exact old tie order and allocation-free entity/element intersectors, entity benchmark harness and perf test scenes 2026-11-04 16:42:08 +01:00
MineTec 2d56a1910c render item frame contents with the item geometry like vanilla ItemFrameRenderer (fixed context, 8 rotations, all facings), frame block models, map contents incl. pixelpics photos, invisible frames, head skins/banner patterns from item meta 2026-11-04 16:03:34 +01:00
MineTec a743dc32c7 derive default layers, armor wearers, arms/chest pose flags and mob variant textures from the vanilla dump, drop the hardcoded lists 2026-11-04 15:48:03 +01:00
MineTec 022b080fce render all block entities from the dumped vanilla models with decompiled renderer poses, drop the cem block-entity path 2026-11-04 15:13:55 +01:00
MineTec c66ebaa942 render cat/wolf collars, charged creeper and wither armor energy swirl (additive), fox/dolphin mouth items 2026-11-04 14:45:57 +01:00
MineTec fbea9dfe08 match vanilla arrow/trident orientation incl. arrow impact shake, add projectile test scenes 2026-11-04 14:26:21 +01:00
MineTec addebffba1 add tools/build-vanilla-pack.sh to build the runtime resource pack from Mojang's client jar 2026-11-04 14:22:27 +01:00
MineTec a0b7ec3a90 apply vanilla uvlock under blockstate x/y rotations and face zero-thickness elements towards the ray
x rotations without uvlock already sampled the model-space element like
vanilla (lying logs/pillars, vertical observers/dispensers verified against
FaceBakery for every blockstate variant). The remaining divergence was
uvlock: faces kept model-extent UVs and were sampled in world orientation,
so top stairs, ceiling buttons, fences/walls and ceiling vines showed
shifted or rotated textures. Rotated uvlocked elements now also go through
the model-space path, with each face's final UVs mapped by vanilla's
BlockMath face transformation (inverted, as in FaceBakery).

Zero-thickness elements (vine, lichen) always reported their low face;
pick the face turned towards the ray instead.

Edge-case test plugin: xrot/xrot2 scenes (lying pillars, vertical
observers/dispensers/droppers, top stairs, ceiling buttons).
2026-11-04 14:11:40 +01:00
MineTec 5852d4b367 render chests from the dumped vanilla models (single, double, trapped, ender, copper) 2026-11-04 13:57:35 +01:00
MineTec 9a6c8b538d alpha-blend translucent block and entity texels (stained glass, slime skin, text backgrounds) 2026-11-04 13:49:45 +01:00
MineTec 37fa1d8f56 bind block textures to the model under blockstate rotations (vanilla UVs)
- face UV orientation now follows vanilla BlockElement.uvsByFace: north/
  east/down faces were sampled mirrored. Default UVs adjusted to match.
  Block and entity faces share one mapping (ElementIntersector.faceUv),
  so the separate blockUv mode of the entity intersector is gone.
- x/y blockstate rotations without uvlock: elements keep their model-space
  copy and are intersected with the inverse-rotated ray, so textures turn
  with the model exactly like vanilla (pistons facing down showed their
  side textures in different directions per face). Replaces the earlier
  up/down-only UV rotation. Display entities use the same model-space path.

Edge-case test plugin: piston/observer/dispenser scenes.
2026-11-04 13:36:15 +01:00
MineTec 73e521131b parse 26.x texture objects in block models (redstone, glass, panes)
Since 26.x a model texture can be an object {"sprite": ..., "force_translucent": ...}
instead of a string. The block-model DTO only accepted strings, so those
models failed to load and rendered as the grey fallback cube: redstone
wire and every glass block and pane (110 models). Accept both forms in
ModelResolver (shared with ItemGeometry).

Edge-case test plugin: redstone/glass scene.
2026-11-04 13:28:10 +01:00
MineTec 9e59435e13 edge-case test plugin: fence and door in the rotated-block scene 2026-11-04 13:24:48 +01:00
MineTec a99acad80c fix blockstate y-rotation direction and rotate top/bottom UVs without uvlock
Blockstate "y" rotations turned the geometry counter-clockwise while the
faces were re-assigned clockwise (vanilla). Every east/west variant of an
asymmetric block ended up mirrored on the wrong side of its cell: shelf
mushrooms and ladders floated away from their support, stairs faced
backwards. Rotate clockwise like vanilla, adjust element-rotation axes,
and turn up/down face textures with the model unless uvlock is set.

Edge-case test plugin: shelf mushroom (side + top view) and rotated-block
scenes.
2026-11-04 13:20:40 +01:00
MineTec 32afe08f03 render entities from vanilla client models, add items, displays and leashes
- dump entity models straight from the unobfuscated client jar
  (tools/VanillaModelDump.java, tools/update-vanilla-models.sh): models posed
  by vanilla setupAnim, baby/variant/layer models, renderer transforms,
  default textures, pose variants (sitting, holding items, illager arms)
  and all layer definitions; the old CEM template is only a fallback now
- fix adult zombies captured as babies, zero-thickness planes (wings,
  fins) and back faces in the entity intersector
- held items, head items (pumpkins, skulls), shields, elytra, saddles and
  body equipment for every mount, armor following the pose
- block/item/text display entities, dropped items, falling blocks, primed
  TNT, minecart contents, block entities inside displays, leash ropes
- item models resolved from the 26.x item definitions with display
  transforms; generated items extruded like vanilla
- bundle the vanilla font definitions as fallback so sign/text rendering
  works with packs that lack font/*.json
- one failing entity no longer aborts the whole photo
- edge-case test plugin (tools/edgecase-plugin) and offline harnesses
2026-11-04 13:11:39 +01:00
MineTec 220cda1deb add survival mode support: camera, film system, and dynamic crafting recipes for photos 2026-06-21 17:30:24 +02:00
MineTec fed94f97d1 add sign text rendering: support font loading, text rasterization, and color adjustments for signs 2026-06-21 16:15:57 +02:00
MineTec 5330948dbd enhance entity rendering: add support for villager levels, horse armor, llama decor, and saddle/chest states 2026-06-21 15:32:53 +02:00
MineTec 094aa463c5 refactor and simplify rendering logic; remove redundant code and consolidate utility methods 2026-06-21 14:42:10 +02:00
MineTec c5d5eae1c1 refactor block entity handling and add support for invisible materials 2026-06-21 14:22:10 +02:00
MineTec 211c7e8479 resource-pack render engine 2026-06-07 18:57:40 +02:00