Render brush model entities (*N) as positioned BSP geometry #18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Entities that use brush models (
*1,*2, etc.) are currently shown as placeholder boxes. Their actual geometry is embedded in the BSP as sub-models but we don't extract or render them as separate positioned objects.Problem
Brush model entities include
func_door,func_illusionary,func_breakable,func_wall,func_rotating,func_movelinear,func_tracktrain, etc. These are visible in-game but rendered incorrectly in the web client:_tryLoadModel()skips*Nmodels (correctly — they're not MDL files)func_illusionaryandfunc_wallmay already have their geometry baked into worldspawn model 0, making the placeholder box redundantfunc_doorneed their brush geometry extracted and positioned per-entityWhat needs to happen
BSP sub-model extraction
*0(worldspawn),*1,*2, etc.Entity positioning
*Nmodel, look up the corresponding BSP sub-model meshStatic vs dynamic
func_illusionary,func_wall,func_detail) could be baked oncefunc_door,func_breakable,func_rotating) need per-tick transform updates like other entitiesCurrent workaround
Until this is implemented, brush model entities are hidden by the entity visibility filter (#17) since they can't be rendered properly.
Relates to