# Class: rendersystem

Rendering system information and settings

## Methods:

### Method overview:

- baseshaders
- batchmaxindices
- batchmeshmaxtris
- cgcompilerargs
- detail
- force2tex
- forcefinish
- glinfo
- glslcg
- hwbonesparams
- nodefaultgpuprogs
- noglextensions
- purehwvertices
- texanisotropic
- texcompression
- usebaseshaders
- usevbos

baseshaders ([shader color_only, color_lightmap, 1tex, 1tex_lightmap])
  returns: ([shader color_only, color_lightmap, 1tex, 1tex_lightmap])
  returns or sets baseshaders. Any non-material mesh, ie just having a texture or just having a color, will use those shaders and pass its texture (if exists) as Texture:0 to the shader. All other materials will use the Shader:0 they come with.
batchmaxindices ([int])
  returns: ([int])
  l3dbatchbuffers will finish batch after indices are reached.
batchmeshmaxtris ([int])
  returns: ([int])
  l3dbatchbuffers will immediately render meshes with less triangles.
cgcompilerargs ([string])
  returns: ([string])
  returns the cg compiler args. Args must be separated by ;
detail ([int])
  returns: ([int])
  gets or sets users detail setting 1 - 3, 3 = highest detail. 1 = half texture size, 16 bit. 2 = 16 bit texture, 3 = 32 bit textures.
force2tex ([boolean])
  returns: ([boolean])
  sets/gets if system should be forced to have only two textureunits, useful for debugging. Affects system only during startup.
forcefinish ([boolean])
  returns: ([boolean])
  if true then renderfunction will wait until all rendering is finished before swapbuffers. Might fix issues you have.
glinfo ()
  returns: (string renderer,string version, string vendor)
  returns information about OpenGL Driver
glslcg ([boolean])
  returns: ([boolean])
  gets or sets if GLSL should be used. Setting only affects nvidia SM3 cards. Normally Cg compiles to nvidia extensions, with setting to true you can enforce glsl. Command does nothing for non shadermodel3 cards. Be aware that setting should be done on startup, changing between modes so that shaders will be in mixed types, will result into errors. The commands main purpose is to test GLSL profiles under Nvidia hardware.
hwbonesparams ([int])
  returns: ([int])
  gets or sets how many parameters you use additionally to matrices in your gpuskin programs
nodefaultgpuprogs ([boolean])
  returns: ([boolean])
  sets/gets if defaultgpuprogs are disabled. Affects system only during startup.
noglextensions ([boolean])
  returns: ([boolean])
  sets/gets if 'nice-to-have' GLextensions are disabled. Affects system only during startup.
purehwvertices ([boolean])
  returns: ([boolean])
  returns or sets if you can guarantee that all vertices (cept for debug helpers or font) are processed by your shaders which all use programmable pipeline. In that case we can ignore a few costly state changes that are only needed for fixed function pipeline.
texanisotropic ([boolean])
  returns: ([boolean])
  gets or sets if texture anisotropic filtering should be used
texcompression ([boolean])
  returns: ([boolean])
  gets or sets if texture compression should be used
usebaseshaders ([boolean])
  returns: ([boolean])
  returns or sets if baseshaders should be used. Make sure they are specified before.
usevbos ([boolean])
  returns: ([boolean])
  sets/gets if vertex buffer objects should be enabled. This generally turns them on/off (on will have no effect if your hardware cant do it), the other option is to disable them per model.load. By default it is on if system technique is higher than VID_ARB_V.