r3rspec
real/code/r3rspec.h
r3code
Real 3D Rendering Options
r3Model
R3CLID_MODEL
r3Rspec
R3CLID_RSPEC - 61
SETOPTION, CLEAROPTION, OPTIONISSET, ADDSERVER, REMOVESERVER, ADDTRACECHANNEL, REMOVETRACECHANNEL, SETCHANNELAA, SETCHANNELOPERATION, GETCHANNELAA, GETCHANNELOPERATION, REMOVEAACHANNEL, CLEARSERVERS, FETCHSERVERS, FREEAUTODETECT,
AutoBox, Options, RecursionDepth, RecursionThreshold, AntialiasingLevel, AntialiasingThreshold, StepX, StepY, ScanLineDepth, ScanLineAccuracy, AntiAliasingMode, Concurrency, RenderServers, BoxCountX, BoxCountY, UnderSamplingTreshold, BoxRendering, TraceChannels, OutLineColor, OutLineFillColor, OutLineChannelName, DitherScale, AAChannels, RamUsePolicy, CausticsBrightness, CausticsSampling, AutoThread, Memory, GlobalGeometryQuality, AutoDetectServers,
int R3RegisterRspecClass(R3APP *app);
multi inheritance
R3SPCM_SETOPTION
SETOPTION
R3SPCM_SETOPTION
R3INT, flags to be set
obj.SETOPTION(p3);
Set option flags
R3SPCM_CLEAROPTION
CLEAROPTION
R3SPCM_CLEAROPTION
R3INT, flags to be reset
obj.CLEAROPTION(p3);
Reset option flags
R3SPCM_OPTIONISSET
OPTIONISSET
R3SPCM_OPTIONISSET
R3INT, flag to be checked
obj.OPTIONISSET(p3);
See if given option is set
R3SPCM_ADDSERVER
ADDSERVER
R3SPCM_ADDSERVER
R3OBJ*, created server object
R3BOOL, don't call R3MM_CHANGED
R3BOOL, disabled
char*, name of server
rc = obj.ADDSERVER(p1, p2, p3);
Add a server to use for rendering
R3SPCM_REMOVESERVER
REMOVESERVER
R3SPCM_REMOVESERVER
char*, name of server
obj.REMOVESERVER(p3);
Remove a server
R3SPCM_ADDTRACECHANNEL
ADDTRACECHANNEL
R3SPCM_ADDTRACECHANNEL
char*, name of signal channel
char*, name of ray channel
obj.ADDTRACECHANNEL(p1, p3);
Add a trace channel item.
R3SPCM_REMOVETRACECHANNEL
REMOVETRACECHANNEL
R3SPCM_REMOVETRACECHANNEL
char*, name of signal channel
char*, name of ray channel
obj.REMOVETRACECHANNEL(p1, p3);
Remove a trace channel item. The item with matching channel names is removed.
R3SPCM_SETCHANNELAA
SETCHANNELAA
R3SPCM_SETCHANNELAA
R3BOOL, turns antialias check on/off
char*, name of channel
obj.SETCHANNELAA(p1, p3);
Define channel's aa triggert state. Trigger channel values are examined in antialiasing & subsampling
R3SPCM_SETCHANNELOPERATION
SETCHANNELOPERATION
R3SPCM_SETCHANNELOPERATION
char*, name of channel
obj.SETCHANNELOPERATION(p3);
Defines the antialias operation for a channel.
R3SPCM_GETCHANNELAA
GETCHANNELAA
R3SPCM_GETCHANNELAA
R3BOOL, TRUE if triggering is on
char*, name of channel
rc = obj.GETCHANNELAA(p3);
Returns aa trigger state of a channel.
R3SPCM_GETCHANNELOPERATION
GETCHANNELOPERATION
R3SPCM_GETCHANNELOPERATION
int, see aa operations below
char*, name of channel
rc = obj.GETCHANNELOPERATION(p3);
Reads the antialias operation of a channel.
R3SPCM_REMOVEAACHANNEL
REMOVEAACHANNEL
R3SPCM_REMOVEAACHANNEL
char*, name of channel
obj.REMOVEAACHANNEL(p3);
Remove a antialias channel spec. The channel will use default settings.
R3SPCM_CLEARSERVERS
CLEARSERVERS
R3SPCM_CLEARSERVERS
obj.CLEARSERVERS();
remove servers
R3SPCM_FETCHSERVERS
FETCHSERVERS
R3SPCM_FETCHSERVERS
obj.FETCHSERVERS();
R3SPCCM_FREEAUTODETECT
FREEAUTODETECT
R3SPCCM_FREEAUTODETECT
obj.FREEAUTODETECT();
AutoBox
AutoBox
R3SPCA_AutoBox
Boolean
R3BOOL
automatic box count detection
jsobj.SetAutoBox(value);
value = jsobj.GetAutoBox();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SPCA_AutoBox, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SPCA_AutoBox, &value, R3TAG_END);
Options
Options
R3SPCA_Options
Integer
R3INT
see option flags below
jsobj.SetOptions(value);
value = jsobj.GetOptions();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_Options, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_Options, &value, R3TAG_END);
RecursionDepth
RecursionDepth
R3SPCA_RecursionDepth
Integer
R3INT
maximum recursion depth for ray tracing
jsobj.SetRecursionDepth(value);
value = jsobj.GetRecursionDepth();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_RecursionDepth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_RecursionDepth, &value, R3TAG_END);
RecursionThreshold
RecursionThreshold
R3SPCA_RecursionThreshold
Number
R3FLOAT
treshold for recursion, if secondary ray is weaker than this treshold, it is not traced
jsobj.SetRecursionThreshold(value);
value = jsobj.GetRecursionThreshold();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SPCA_RecursionThreshold, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SPCA_RecursionThreshold, &value, R3TAG_END);
AntialiasingLevel
AntialiasingLevel
R3SPCA_AntialiasingLevel
Integer
R3INT
level of antialiasing
jsobj.SetAntialiasingLevel(value);
value = jsobj.GetAntialiasingLevel();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_AntialiasingLevel, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_AntialiasingLevel, &value, R3TAG_END);
AntialiasingThreshold
AntialiasingThreshold
R3SPCA_AntialiasingThreshold
Number
R3FLOAT
if difference between subsequent samples is higher than this value, antialiasing is started
jsobj.SetAntialiasingThreshold(value);
value = jsobj.GetAntialiasingThreshold();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SPCA_AntialiasingThreshold, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SPCA_AntialiasingThreshold, &value, R3TAG_END);
StepX
StepX
R3SPCA_StepX
Integer
R3INT
initial sampling resolution for primary ray
jsobj.SetStepX(value);
value = jsobj.GetStepX();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_StepX, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_StepX, &value, R3TAG_END);
StepY
StepY
R3SPCA_StepY
Integer
R3INT
initial sampling resolution for primary ray
jsobj.SetStepY(value);
value = jsobj.GetStepY();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_StepY, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_StepY, &value, R3TAG_END);
ScanLineDepth
ScanLineDepth
R3SPCA_ScanLineDepth
Integer
R3INT
R3TYPEID, R3TID_BYTE/WORD/INTEGER/FLOAT
jsobj.SetScanLineDepth(value);
value = jsobj.GetScanLineDepth();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_ScanLineDepth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_ScanLineDepth, &value, R3TAG_END);
ScanLineAccuracy
ScanLineAccuracy
R3SPCA_ScanLineAccuracy
Number
R3FLOAT
R3FLOAT, 0 ... 1.0, scales the scanline rendering resolution
jsobj.SetScanLineAccuracy(value);
value = jsobj.GetScanLineAccuracy();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SPCA_ScanLineAccuracy, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SPCA_ScanLineAccuracy, &value, R3TAG_END);
AntiAliasingMode
AntiAliasingMode
R3SPCA_AntiAliasingMode
Integer
R3INT
see aa modes below
jsobj.SetAntiAliasingMode(value);
value = jsobj.GetAntiAliasingMode();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_AntiAliasingMode, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_AntiAliasingMode, &value, R3TAG_END);
Concurrency
Concurrency
R3SPCA_Concurrency
Integer
R3INT
number of threads to use for rendering
jsobj.SetConcurrency(value);
value = jsobj.GetConcurrency();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_Concurrency, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_Concurrency, &value, R3TAG_END);
RenderServers
RenderServers
R3SPCA_RenderServers
r3List
R3LIST*
GET, list of server objects
value = jsobj.GetRenderServers();
R3LIST* value;
R3GetAttrs(r3obj, R3SPCA_RenderServers, &value, R3TAG_END);
BoxCountX
BoxCountX
R3SPCA_BoxCountX
Integer
R3INT
number of rendering boxes in x direction
jsobj.SetBoxCountX(value);
value = jsobj.GetBoxCountX();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_BoxCountX, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_BoxCountX, &value, R3TAG_END);
BoxCountY
BoxCountY
R3SPCA_BoxCountY
Integer
R3INT
number of boxes in y direction
jsobj.SetBoxCountY(value);
value = jsobj.GetBoxCountY();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_BoxCountY, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_BoxCountY, &value, R3TAG_END);
UnderSamplingTreshold
UnderSamplingTreshold
R3SPCA_UnderSamplingTreshold
Number
R3FLOAT
if difference between subsequent samples is higher than this value, sampling refines
jsobj.SetUnderSamplingTreshold(value);
value = jsobj.GetUnderSamplingTreshold();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SPCA_UnderSamplingTreshold, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SPCA_UnderSamplingTreshold, &value, R3TAG_END);
BoxRendering
BoxRendering
R3SPCA_BoxRendering
Boolean
R3BOOL
box rendering on/off
jsobj.SetBoxRendering(value);
value = jsobj.GetBoxRendering();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SPCA_BoxRendering, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SPCA_BoxRendering, &value, R3TAG_END);
TraceChannels
TraceChannels
R3SPCA_TraceChannels
r3List
R3LIST*
list of R3TRACECHANNEL items defined below
value = jsobj.GetTraceChannels();
R3LIST* value;
R3GetAttrs(r3obj, R3SPCA_TraceChannels, &value, R3TAG_END);
OutLineColor
OutLineColor
R3SPCA_OutLineColor
color of outlines, used if R3SPCOP_OUTLINE set
jsobj.SetOutLineColor(value);
value = jsobj.GetOutLineColor();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3SPCA_OutLineColor, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3SPCA_OutLineColor, &value, R3TAG_END);
OutLineFillColor
OutLineFillColor
R3SPCA_OutLineFillColor
color of outline fills, used if R3SPCOP_OUTLINE &OUTLINEFILL set
jsobj.SetOutLineFillColor(value);
value = jsobj.GetOutLineFillColor();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3SPCA_OutLineFillColor, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3SPCA_OutLineFillColor, &value, R3TAG_END);
OutLineChannelName
OutLineChannelName
R3SPCA_OutLineChannelName
String
char*
name of the channel to which outlines are drawn
jsobj.SetOutLineChannelName(value);
value = jsobj.GetOutLineChannelName();
char* value = ...;
R3SetAttrs(r3obj, R3SPCA_OutLineChannelName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3SPCA_OutLineChannelName, &value, R3TAG_END);
DitherScale
DitherScale
R3SPCA_DitherScale
Number
R3FLOAT
jsobj.SetDitherScale(value);
value = jsobj.GetDitherScale();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SPCA_DitherScale, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SPCA_DitherScale, &value, R3TAG_END);
AAChannels
AAChannels
R3SPCA_AAChannels
r3List
R3LIST*
each node defines non-default aa properties for a channel
value = jsobj.GetAAChannels();
R3LIST* value;
R3GetAttrs(r3obj, R3SPCA_AAChannels, &value, R3TAG_END);
RamUsePolicy
RamUsePolicy
R3SPCA_RamUsePolicy
Integer
R3INT
defines ram consumption guidelines. 0=automatic, 1 = do not save, 2, 3, ... save more
jsobj.SetRamUsePolicy(value);
value = jsobj.GetRamUsePolicy();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_RamUsePolicy, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_RamUsePolicy, &value, R3TAG_END);
CausticsBrightness
CausticsBrightness
R3SPCA_CausticsBrightness
Number
R3FLOAT
R3FLOAT>0, scales caustics map brightness
jsobj.SetCausticsBrightness(value);
value = jsobj.GetCausticsBrightness();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SPCA_CausticsBrightness, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SPCA_CausticsBrightness, &value, R3TAG_END);
CausticsSampling
CausticsSampling
R3SPCA_CausticsSampling
Integer
R3INT
accuracy/quality of caustics
jsobj.SetCausticsSampling(value);
value = jsobj.GetCausticsSampling();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_CausticsSampling, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_CausticsSampling, &value, R3TAG_END);
AutoThread
AutoThread
R3SPCA_AutoThread
Boolean
R3BOOL
determine thread count automatically based on the number of processors available
jsobj.SetAutoThread(value);
value = jsobj.GetAutoThread();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SPCA_AutoThread, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SPCA_AutoThread, &value, R3TAG_END);
Memory
Memory
R3SPCA_Memory
Integer
R3INT
minimum memory requirement for rendering servers
jsobj.SetMemory(value);
value = jsobj.GetMemory();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_Memory, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_Memory, &value, R3TAG_END);
GlobalGeometryQuality
GlobalGeometryQuality
R3SPCA_GlobalGeometryQuality
Integer
R3INT
geometry specific render quality. 0=default, -1=draft quality
jsobj.SetGlobalGeometryQuality(value);
value = jsobj.GetGlobalGeometryQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3SPCA_GlobalGeometryQuality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SPCA_GlobalGeometryQuality, &value, R3TAG_END);
AutoDetectServers
AutoDetectServers
R3SPCA_AutoDetectServers
Boolean
R3BOOL
automatically detect rendering servers
jsobj.SetAutoDetectServers(value);
value = jsobj.GetAutoDetectServers();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SPCA_AutoDetectServers, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SPCA_AutoDetectServers, &value, R3TAG_END);
Options flags
Antialiasing modes
Antialiasing operations per channel
n.name defines channel name