# Class: l3dlist

The List3D is the main rendering list, it contains l3dnodes that represent visual items. It is organised in l3dsets l3dlayerids and l3dviews. l3dviews can render l2dnodes thru special commands as well.
The l3dlist the buffermempool for per-frame results. Various limits such as l3dset, layer and perlayer draws influence its useage. You can alter some of these limits and the poolsize at runtime. However these are critical operations and should only be looked into if you exceed limits, or had quits with error messages regarding buffermempool.

## Hierarchy

    o-+ l3dlist
      o-- bonecontrol
      o-- frustumobject
      o-- l3dbatchbuffer
      o-- l3dlayerid
      o-+ l3dnode
      | o-- l3dcamera
      | o-- l3dlevelmodel
      | o-- l3dlight
      | o-- l3dmodel
      | o-- l3dpemitter
      | o-- l3dpgroup
      | o-- l3dprimitive
      | o-- l3dprojector
      | o-- l3dshadowmodel
      | o-- l3dtbterrain
      | o-- l3dtext
      | o-- l3dtrail
      o-- l3dset
      o-- l3dview
      o-- morphcontrol
      o-- particle
      o-- skybox
      o-- trailpoint

## Methods:

### Method overview:

- fbotest
- l3dlayercount
- l3dsetcount
- maxdrawsperlayer
- maxtotalprojectors

fbotest ([l3dview])
  returns: ([int stringtype, string message])
  performs a test run on current rcmdfbo related setups. For testing l3dview:drawnow you can pass the view directly. It takes enable flags of rcmds into account. Returns an error (+1) or warning(-1) string, or nothing if all is working.
l3dlayercount ()
  returns: (int)
  returns how many l3dlayers exist
l3dsetcount ()
  returns: (int)
  returns how many l3dsets exist
maxdrawsperlayer ([int])
  returns: ([int])
  gets or sets how many meshes per l3dlayer in total can ever be rendered. Changing this value influences runtime limits and rendermempool consumption (8 bytes per l3dset*l3dlayer).
maxtotalprojectors ([int])
  returns: ([int])
  gets or sets how many total projectors per-frame can be active. Say you have two meshes that each are affected by the same projector, this would result into two total projectors. It is the sum of used projectors per mesh, over all meshes. Changing this value influences runtime limits and rendermempool consumption (4 bytes per cnt).