Render


LXiIP_ALL_OPERATORS_ENABLED

Image processing operators control how the rendered image is processed, and are non-destructive.

  • LXiIP_ALL_OPERATORS_DISABLED

  • LXiIP_NO_OPERATOR_OVERRIDE

  • LXiIP_STEREO

  • LXiIP_COMPONENT_STEREO

  • LXiIP_SOURCE_IMAGE_GAMMA

  • LXiIP_BLOOM

  • LXiIP_VIGNETTE

  • LXiIP_INPUT_BLACK_LEVEL

  • LXiIP_INPUT_GRAY_LEVEL

  • LXiIP_INPUT_WHITE_LEVEL

  • LXiIP_INPUT_MIN_RGB_LEVEL

  • LXiIP_INPUT_RGB_GRAY_LEVEL

  • LXiIP_INPUT_MAX_RGB_LEVEL

  • LXiIP_TONE_MAPPING

  • LXiIP_HUE_OFFSET

  • LXiIP_SATURATION

  • LXiIP_COLORIZATION

  • LXiIP_OUTPUT_BLACK_LEVEL

  • LXiIP_OUTPUT_WHITE_LEVEL

  • LXiIP_OUTPUT_MIN_RGB_LEVEL

  • LXiIP_OUTPUT_MAX_RGB_LEVEL

  • LXiIP_OUTPUT_GAMMA

  • LXiIP_DITHER

  • LXiIP_USE_DISPLAY_GAMMA_PREF

  • LXiIP_APPLY_DISPLAY_COLORSPACE

typedef unsigned int LXtImageProcessingOperators
  • LXiSE_LEFT

  • LXiSE_RIGHT

  • LXiSE_BOTH

typedef unsigned int LXtStereoEye
  • LXeSC_NO_COMPOSITE

  • LXeSC_ANAGLYPH_RED_CYAN

  • LXeSC_ANAGLYPH_GRAYSCALE

  • LXeSC_ANAGLYPH_RED_CYAN_HALF

  • LXeSC_ANAGLYPH_RED_CYAN_OPT

  • LXeSC_ANAGLYPH_RED_BLUE_LS

  • LXeSC_LAST_ANAGLYPH_MODE

  • LXeSC_SIDE_BY_SIDE

  • LXeSC_SIDE_BY_SIDE_FULL_WIDTH

  • LXeSC_SIDE_BY_SIDE_CROSSED

  • LXeSC_SIDE_BY_SIDE_CROSSED_FULL

  • LXeSC_LAST_SIDE_BY_SIDE_MODE

  • LXeSC_DROPDOWN_COUNT

  • LXeSC_UNDEFINED

typedef unsigned int LXtStereoComposite

LXtRenderOutputProcess

struct st_LXtRenderOutputProcess

Public Members

LXtImageProcessingOperators ops
int type
int typeSize
int unpremul
int alphaIndex
int isFactoryName
float sourceImageGamma
int sourceImageIsStereoSideBySide
int saveProcessed
int stereoEye
int stereoComposite
int bloom
float bloomThr
float bloomRad
float invResX
float invResY
float vignAmt
float inputBlackLevel
float inputGrayLevel
float invInputGrayLevel
float white
float exposure
float inputMinRedLevel
float inputRedGrayLevel
float invInputRedGrayLevel
float red
float redExposure
float inputMinGreenLevel
float inputGreenGrayLevel
float invInputGreenGrayLevel
float green
float greenExposure
float inputMinBlueLevel
float inputBlueGrayLevel
float invInputBlueGrayLevel
float blue
float blueExposure
int expType
float iso
float expTime
float fStop
int toneMap
float toneAmt
float hueOffset
float saturation
float colorization
LXtVector targetColor
LXtVector targetHSV
float outputBlackLevel
float outputWhiteLevel
float outputMinRedLevel
float outputMaxRedLevel
float outputMinGreenLevel
float outputMaxGreenLevel
float outputMinBlueLevel
float outputMaxBlueLevel
float gamma
float invGamma
const char *colorspace
ILxColorMappingID colormapping
int colorspaceEmbedding
char userName[64]
char identity[256]
int itemUniqueIndex

LXtRenderOutputProcessList

struct st_LXtRenderOutputProcessList

Public Members

unsigned count
LXtRenderOutputProcess *outputs

LXiRENDEROUTPUT_INVALID

Render outputs currently have specific type codes for efficiency (avoiding the need for string comparisons).

  • LXiRENDEROUTPUT_COLOR

  • LXiRENDEROUTPUT_ALPHA

  • LXiRENDEROUTPUT_DIFF

  • LXiRENDEROUTPUT_DIFFDIR

  • LXiRENDEROUTPUT_DIFFIND

  • LXiRENDEROUTPUT_DIFFUNS

  • LXiRENDEROUTPUT_SPEC

  • LXiRENDEROUTPUT_REFL

  • LXiRENDEROUTPUT_TRAN

  • LXiRENDEROUTPUT_SUBS

  • LXiRENDEROUTPUT_LUMI

  • LXiRENDEROUTPUT_DEPTH

  • LXiRENDEROUTPUT_MOTION

  • LXiRENDEROUTPUT_SHADOW

  • LXiRENDEROUTPUT_OCCLAMB

  • LXiRENDEROUTPUT_OCCLREF

  • LXiRENDEROUTPUT_SNORM

  • LXiRENDEROUTPUT_SINC

  • LXiRENDEROUTPUT_GNORM

  • LXiRENDEROUTPUT_GINC

  • LXiRENDEROUTPUT_SURFACE

  • LXiRENDEROUTPUT_SEGMENT

  • LXiRENDEROUTPUT_OPOS

  • LXiRENDEROUTPUT_WPOS

  • LXiRENDEROUTPUT_UV

  • LXiRENDEROUTPUT_DPDU

  • LXiRENDEROUTPUT_DPDV

  • LXiRENDEROUTPUT_ICPOS

  • LXiRENDEROUTPUT_ICVAL

  • LXiRENDEROUTPUT_MDIFFCOL

  • LXiRENDEROUTPUT_MDIFFAMT

  • LXiRENDEROUTPUT_MDIFFROUGH

  • LXiRENDEROUTPUT_MDIFFENG

  • LXiRENDEROUTPUT_ROUGHNESS

  • LXiRENDEROUTPUT_MDIFF

  • LXiRENDEROUTPUT_MSPEC

  • LXiRENDEROUTPUT_MREFL

  • LXiRENDEROUTPUT_ILLUM

  • LXiRENDEROUTPUT_ILLUMDIR

  • LXiRENDEROUTPUT_ILLUMIND

  • LXiRENDEROUTPUT_ILLUMUNS

  • LXiRENDEROUTPUT_SAMPLES

  • LXiRENDEROUTPUT_VARIANCE

  • LXiRENDEROUTPUT_VOL_LUM

  • LXiRENDEROUTPUT_VOL_OPA

  • LXiRENDEROUTPUT_VOL_DEPTH

  • LXiRENDEROUTPUT_SUBS_AMOUNT

  • LXiRENDEROUTPUT_SUBS_COLOR

  • LXiRENDEROUTPUT_TRAN_AMOUNT

  • LXiRENDEROUTPUT_TRAN_COLOR

  • LXiRENDEROUTPUT_PARTICLE_ID

  • LXiRENDEROUTPUT_PARTICLE_AGE

  • LXiRENDEROUTPUT_PARTICLE_VEL

  • LXiRENDEROUTPUT_DRIVER_A

  • LXiRENDEROUTPUT_DRIVER_B

  • LXiRENDEROUTPUT_DRIVER_C

  • LXiRENDEROUTPUT_DRIVER_D

  • LXiRENDEROUTPUT_RECOLOR_TO

  • LXiRENDEROUTPUT_RECOLOR_WHITE

  • LXiRENDEROUTPUT_MATERIAL_MAP

  • LXiRENDEROUTPUT_LPE

  • LXiRENDEROUTPUT_ALBEDO

  • LXiRENDEROUTPUT_CRYPTOMATTE

  • LXiRENDEROUTPUT_CRYPTOMATTE_ID

  • LXiRENDEROUTPUT_CRYPTOMATTE_COVERAGE


LXe_GEO_SIZE_LIMIT

Geometry caches include memory blocks for fast allocation of geometry elements with fewer system memory calls. This scheme also increases the chances that elements used together will be in the same area of memory and generally results in faster rendering.

ILxRenderBucket

class ILxRenderBucket

Public Functions

unsigned int Thread(LXtObjectID self)

The bucket is exposed to clients via the render bucket interface, which is actually a packet in the sample vector. The simplest thing the RenderBucket interface can be used for is to get the thread number of the current rendering thread. This will be a value from 0 through n-1, where n is the number of rendering threads.

LxResult SampleVec(LXtObjectID self, void **ppvObj)

We can also get the sample vector back from the bucket object.

LxResult PushRay(LXtObjectID self)

We can push and pop rays onto the ray stack. These functions are equivalent to those in the Raycast interface.

LxResult PopRay(LXtObjectID self)
int GetGIBounce(LXtObjectID self)

GetGIBounce will directly return the number of global illumination bounces prior to the current shading evaluation. This will allow a shader to compare it against the maximum global illumination bounces, and exit if it’s already reached the maximum.

void GetPixel(LXtObjectID self, int *x, int *y)

GetPixel will indirectly (through the x and y argument pointers) return the current pixel being evaluated by this thread.

void GetSubPixel(LXtObjectID self, float *x, float *y)

GetSubPixel will get the position of the current sample being evaluated within the pixel. It indirectly returns the values via the pointers to x and y. The values returned are between 0.0 and 1.0.

float GetTimeOffset(LXtObjectID self)

GetTimeOffset will return a value between 0.0 and 1.0 indicating the time within an exposure being currently evaluated (to allow motion / temporal blur in shading, for instance).