LightsprintSDK 2021.08.08
rr Namespace Reference

Classes

class  RRAligned
 
class  RRAlignedNonCopyable
 
class  RRBuffer
 
class  RRCamera
 
class  RRCollider
 
class  RRCollisionHandler
 
class  RRColorSpace
 
class  RRFileLocator
 
class  RRHash
 
class  RRLight
 
class  RRLightField
 
class  RRLights
 
struct  RRMaterial
 
class  RRMaterials
 
struct  RRMatrix3x4
 
struct  RRMatrix3x4Ex
 
class  RRMesh
 
class  RRMeshArrays
 
class  RRObject
 
class  RRObjectIllumination
 
class  RRObjects
 
struct  RRPointMaterial
 
struct  RRRadiometricMeasure
 
class  RRRay
 
class  RRReporter
 
class  RRReportInterval
 
class  RRScene
 
struct  RRSideBits
 
class  RRSolver
 
class  RRString
 
class  RRTime
 
class  RRUniformlyAllocated
 
class  RRUniformlyAllocatedNonCopyable
 
struct  RRVec2
 
struct  RRVec3
 
struct  RRVec3p
 
struct  RRVec4
 
class  RRVector
 

Typedefs

typedef RRVector< RRCameraRRCameras
 
typedef float RRReal
 

Enumerations

enum  RRBufferType {
  BT_VERTEX_BUFFER ,
  BT_2D_TEXTURE ,
  BT_CUBE_TEXTURE
}
 
enum  RRBufferFormat {
  BF_RGB ,
  BF_BGR ,
  BF_RGBA ,
  BF_RGBF ,
  BF_RGBAF ,
  BF_DEPTH ,
  BF_DXT1 ,
  BF_DXT3 ,
  BF_DXT5 ,
  BF_LUMINANCE ,
  BF_LUMINANCEF
}
 
enum  RRBufferLock {
  BL_READ ,
  BL_READ_WRITE ,
  BL_DISCARD_AND_WRITE
}
 
enum  RRReportType {
  ERRO ,
  ASSE ,
  WARN ,
  INF1 ,
  INF2 ,
  INF3 ,
  INF9 ,
  TIMI
}
 

Functions

template<class C >
void RR_SAFE_FREE (C *&a)
 
template<class C >
void RR_SAFE_DELETE (C *&a)
 
template<class C >
void RR_SAFE_DELETE_ARRAY (C *&a)
 
template<class C >
void RR_SAFE_RELEASE (C *&a)
 
RR_API unsigned RR_INTERFACE_ID_LIB ()
 
RR_API const char * RR_INTERFACE_DESC_LIB ()
 

Detailed Description

LightsprintCore - graphics API independent realtime global illumination solver.

ANDROID

Typedef Documentation

◆ RRCameras

◆ RRReal

typedef float rr::RRReal

Real number used in most of calculations.

Enumeration Type Documentation

◆ RRBufferType

Buffer type. Implementation is not required to support all of them.

Enumerator
BT_VERTEX_BUFFER 

Vertex buffer, 1d array of width elements. Used for object's realtime indirect lighting, precomputed per-vertex lighting.

BT_2D_TEXTURE 

2d texture or video, 2d array of width*height elements. Used for object's precomputed lightmaps, ambient occlusion maps, bent normal maps, material textures and videos.

BT_CUBE_TEXTURE 

Cube texture, 3d array of size*size*6 elements. Used for scene environment and for object's diffuse and specular reflection maps.

◆ RRBufferFormat

Buffer format. Implementation is not required to support all of them.

Enumerator
BF_RGB 

Integer RGB, 24bits per pixel. Format of textures natively supported by virtually all hardware. Usually not suitable for vertex buffers in hardware. Ideal for sRGB textures, not suitable for linear colors due to limited precision.

BF_BGR 

Integer BGR, 24bits per pixel. For DirectX interoperability.

BF_RGBA 

Integer RGBA, 32bits per pixel. Format natively supported by virtually all hardware. Ideal for sRGB textures, not suitable for linear colors due to limited precision.

BF_RGBF 

Floating point RGB, 96bits per pixel. High precision, suitable for any data, but some old GPUs don't support textures in this format. Ideal for linear colors in vertex buffers.

BF_RGBAF 

Floating point RGBA, 128bits per pixel. High precision, suitable for any data, but some old GPUs don't support textures in this format.

BF_DEPTH 

Depth, implementation defined precision.

BF_DXT1 

DXT1 compressed, can't be accessed per-pixel.

BF_DXT3 

DXT3 compressed, can't be accessed per-pixel.

BF_DXT5 

DXT5 compressed, can't be accessed per-pixel.

BF_LUMINANCE 

Integer luminance/grayscale, 8bits per pixel.

BF_LUMINANCEF 

Floating point luminance/grayscale, 32bits per pixel.

◆ RRBufferLock

Buffer lock. Implementation is not required to support all of them.

Enumerator
BL_READ 

Lock for reading only.

BL_READ_WRITE 

Lock for reading and writing.

BL_DISCARD_AND_WRITE 

Discards old data and locks buffer (now with uninitialized data) for writing. You should overwrite whole buffer otherwise it stays partially uninitialized.

◆ RRReportType

Type of reported message.

Custom reporters may use this information for example to

  • filter messages
  • layout messages
  • process important messages differently
Enumerator
ERRO 

Error, most important message, describes problem you should immediately fix. Reported by all versions.

ASSE 

Assertion failure - error or warning of uncommon circumstances. The biggest group of messages, reported only in debug version.

WARN 

Warning, potential error. Reported by all versions.

INF1 

Information, produced by valid programs. Reported by all versions. Rare and important events.

INF2 

Information, produced by valid programs. Reported by all versions. Medium importance.

INF3 

Information, produced by valid programs. Reported by all versions. Frequent or unimportant events.

INF9 

So unimportant that it's to be skipped.

TIMI 

Timing information.

Function Documentation

◆ RR_SAFE_FREE()

template<class C >
void rr::RR_SAFE_FREE ( C *&  a)

◆ RR_SAFE_DELETE()

template<class C >
void rr::RR_SAFE_DELETE ( C *&  a)

◆ RR_SAFE_DELETE_ARRAY()

template<class C >
void rr::RR_SAFE_DELETE_ARRAY ( C *&  a)

◆ RR_SAFE_RELEASE()

template<class C >
void rr::RR_SAFE_RELEASE ( C *&  a)

◆ RR_INTERFACE_ID_LIB()

RR_API unsigned rr::RR_INTERFACE_ID_LIB ( )

Returns id of interface offered by library.

◆ RR_INTERFACE_DESC_LIB()

RR_API const char * rr::RR_INTERFACE_DESC_LIB ( )

Returns description of interface offered by library.