# Class: l3dprojector

a projector allows textures to be projected on models, orthogonally and perspectively. There is a special texture type that can fix backprojection errors for perpective projection, but shouldnt be used on orthogonal, or if no errors with normal textures appear.

## Hierarchy

    o-+ l3dlist
      o-+ l3dnode
        o-+ l3dprojector

## Methods:

### Method overview:

- activate
- aspect
- attenuate
- backplane
- blend
- deactivate
- fov
- frontplane
- new
- projmatrix
- textureid

new (string name,[l3dlayerid layer])
  returns: (l3dprojector)
  creates new projector
activate (l3dprojector,int id)
  returns: ()
  adds projector to the active list with given id (0-31)
aspect (l3dprojector,[float])
  returns: (float)
  returns or sets projection aspect ratio = width/height
attenuate (l3dprojector,[boolean])
  returns: (boolean)
  returns or sets attenuation, this is quite heavy effect but will perform a per pixel distance attenuation that causes the projector to fade out towards its backplane.
backplane (l3dprojector,[float])
  returns: (float)
  returns or sets projection backplane distance
blend (l3dprojector,[blendmode])
  returns: (blendmode)
  returns or sets blendmode of projector
deactivate (l3dprojector)
  returns: ()
  removes projector from active list
fov (l3dprojector,[float])
  returns: (float)
  returns or sets projection fov, when negative it will be orthogonal projection with abs(fov) rectangular size
frontplane (l3dprojector,[float])
  returns: (float)
  returns or sets projection frontplane distance
projmatrix (l3dprojector,[matrix16])
  returns: ([matrix16])
  returns or sets projection matrix. Using frontplane,aspect and so on will override manually set matrices.
textureid (l3dprojector,[texture])
  returns: (texture)
  returns or sets projected texture

## Inherited Methods:

### From l3dnode

cambox, camsphere, camvolumedelete, color, delete, isanimateable, lightmap, lightmaptexmatrix, linkinterface, localmatrix, localpos, localrotaxis, localrotdeg, localrotquat, localrotrad, name, novistest, parent, parentbone, renderscale, rotationlock, setlayer, unlink, unparentbone, uselocal, uselookat, usemanualworld, visflag, worldmatrix, worldpos, worldrotaxis, worldrotdeg, worldrotquat, worldrotrad

### From l3dlist