You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Occlusion for meshes.vpy3d_set_mesh_occlusion(1) makes meshes drawn with vpy3d_draw_mesh hide each other, moving or not. Draw each mesh, then register it as an occluder, nearest first. It is opt-in, so existing games keep their picture.
Camera-space occluded lines.vpy3d_occl_line_cam is the camera-space counterpart of vpy3d_occl_line.
New counter, ramps_clamped. It counts ramps started while the beam was clamped to the centre, and must always read 0.
Occlusion demo: now three turning meshes, one of them passing in front of and behind the others, with occlusion on and off for comparison.
Fixes
First strokes lost, and stray lines from the centre of the screen. When a frame's first stroke started near the middle of the screen, the first jump was too short to trigger a re-zero. The beam's zero clamp, which the frame prologue sets, was then never released, and the frame's first strokes were drawn with the beam held at the centre. They disappeared from the picture and showed up as lines radiating from the middle: one line without stroke chaining, a star of several arms with it. Any 3D scene centred on its subject could hit this. Fix: the frame's first jump now always re-zeroes while the clamp is still on, whatever its length. This costs six commands per frame. The new ramps_clamped counter proves it stays fixed.
Host tools link again. The command-list counter and the sample-player test had stopped linking after the microsecond clock was added.