TKE_Rendering_Options
Opcode
ASCII |
R |
Hexadecimal |
52 |
Decimal |
82 |
Operands
Variable mask,
Variable value,
[Byte hsr]
[Byte tech_quant]
[Long face_displacement],
[Long lock_mask,
Long lock_value,
[Long color_lock_mask,
Long color_lock_value],
[Long visibility_lock_mask,
Long visibility_lock_value]],
[(2)xFloat fog_limits]
[Long debug]
[Float stereo_separation]
[Byte buffer_options_mask,
Byte buffer_options_value,
[Long buffer_size_limit]]
[Variable hidden_line_options,
[Long hidden_line_pattern],
[Float hidden_line_dim_factor],
[Float hidden_line_face_displacement]]
[Variable nurbs_options_mask,
Variable nurbs_options_value,
[Long nurbs_curve_budget],
[Long nurbs_curve_continued_budget],
[Long nurbs_surface_budget],
[Long nurbs_surface_trim_budget],
[Float nurbs_surface_max_trim_curve_deviation],
[Float nurbs_surface_max_facet_angle],
[Float nurbs_surface_max_facet_deviation],
[Float nurbs_surface_max_facet_width]]
[Long LOD_options_mask,
Long LOD_options_value,
[Byte LOD_algorithm],
[(6)xFloat LOD_explicit_bounding],
[Byte LOD_num_cutoffs,
(LOD_num_cutoffs)xFloat LOD_cutoffs],
[Byte LOD_clamp],
[Byte LOD_fallback],
[Long LOD_max_degree],
[Long LOD_min_triangle_count],
[Byte LOD_num_levels],
[Byte LOD_num_ratios,
(LOD_num_ratios)xFloat LOD_ratios],
[Byte LOD_num_thresholds,
(LOD_num_thresholds)xFloat LOD_thresholds,
Byte LOD_threshold_type],
[Byte LOD_heuristic]]
[Byte tessellation_options,
[Byte tess_num_cylinder,
(tess_num_cylinder)xLong tess_cylinder]]
[Byte transparency_style]
[Byte cut_geometry_options,
[Byte cut_geometry_level],
[Byte cut_geometry_tolerance]]
[(2)xLong depth_range]
mask |
bitmask of options which are specified, Long,
if high bit set a second Long follows |
value |
bitmask of options which are set on, Long,
if high bit of mask set a second Long follows |
hsr |
combination of hsr (low nibble) and transparent hsr (high nibble) enums |
tech_quant |
combination of technology and quantization bitmasks |
face_displacement |
displacement applied to "push back" surfaces so associated edges may be seen more clearly |
lock_mask |
bitmask showing which attribute types are having their lock setting changed |
lock_value |
bitmask showing which of those attribute settings are going to "locked" |
color_lock_mask |
bitmask showing which geometries are having their color lock settings changed |
color_lock_value |
bitmask showing which of those color settings are going to "locked" |
visibility_lock_mask |
bitmask showing which geometries are having their visibility lock settings changed |
visibility_lock_value |
bitmask showing which of those visibility settings are going to "locked" |
fog_limits |
near and far limits of depth cueing (relative to camera position) |
stereo_separation |
offset amgle (in degrees) from view axis for each eye in a stereo view |
buffer_options_mask |
bitmask showing which software frame buffer options are being changed |
buffer_options_value |
bitmask showing which buffer options are being set to "on" |
buffer_size_limit |
size limit for buffer |
hidden_line_options |
bitmask showing which hidden linde options are set,
Byte. If high bit set, a second Byte follows. |
hidden_line_pattern |
pattern used to draw the "hidden" lines |
hidden_line_dim_factor |
color dimming factor for the "hidden" lines |
hidden_line_face_displacement |
face displacement used when doing hidden line calculations |
nurbs_options_mask |
bitmask indicating which NURBS curve/surface options are being changed,
Byte. If high bit set, a second Byte follows. |
nurbs_options_value |
bitmask indications which NURBS options are set "on",
Byte. If high bit set, a second Byte follows. |
nurbs_curve_budget |
number of points to generate along a NURBS curve |
nurbs_curve_continued_budget |
additional points generated per control point beyonf one over the degree of the curve |
nurbs_surface_budget |
maximum number of points to generate on the NURBS surface |
nurbs_surface_trim_budget |
number of points to generate along NURBS trimming curves |
nurbs_surface_max_trim_curve_deviation |
Distance, in the NURBS Surface's normalized [0..1] parametric space, of trim curve vertices from the parametric definition of the trimming curve. |
nurbs_surface_max_facet_angle |
The largest angle allowed between the surface tangents evaluated at any two corners of a given facet. Expressed in degrees. |
nurbs_surface_max_facet_deviation |
Distance, in object space, of the tessellation to the parametric definition of the surface. |
nurbs_surface_max_facet_width |
The largest allowable length, in the NURBS Surface's normalized [0..1] parametric space, of any facet's edge. |
LOD_options_mask |
bitmask indicating which Level Of Detail options which are being changed |
LOD_options_value |
bitmask indication which LOD options are being set "on" |
LOD_algorithm |
indicates the preferred choice of LOD generation |
LOD_explicit_bounding |
specific bounding volume used with some LOD choices |
LOD_num_cutoffs |
number of cutoff settings |
LOD_cutoffs |
minimum limits for generating a LOD at each level |
LOD_clamp |
selects a specific LOD level for display |
LOD_fallback |
indicates what (if anything) to draw when the desired LOD level is not present |
LOD_max_degree |
maximum number of edges to connect to a vertex in a generated LOD |
LOD_min_triangle_count |
lower bound on the number of triangles worth generating as a LOD |
LOD_num_levels |
number of LOD levels to compute |
LOD_num_ratios |
number of ratios specified |
LOD_ratios |
ratios of the number of triangles between a LOD level and the previous level |
LOD_num_thresholds |
number of threshold setting |
LOD_thresholds |
limits on triangle density before switching to a lower LOD during display |
LOD_threshold_type |
units specifying triangle density (not present previous to file version 9.08) |
LOD_heuristic |
indicates method used to determine when a LOD should not be generated |
tessellation_options |
indicates which tessellation options are set |
tess_num_cylinder |
number of cylinder tessellation settings |
tess_cylinder |
tessellation limits for cylinder display at various LOD levels |
transparency_style |
preferred means of handling transparent geometry |
cut_geometry_options |
options controlling the generation of capping faces when geometry is affected by cutting planes |
cut_geometry_level |
controls how geometry is collected for processing for capping faces |
cut_geometry_tolerance |
tolerance for closing loops when processing capping faces.
negative value indicates value is a percentage of current view (camera field) instead of object units |
depth_range |
restricts placement of drawing into z-buffer range |
Notes
Rendering options
control miscellaneous display options. For the specific definitions
of what these values mean in HOOPS/3dGS please refer to the Set_Rendering_Options
specification in the 3dGS Reference Manual.
Mask/Value bits:
00000001 |
Texture interpolation of faces |
00000002 |
Texture interpolation of edges |
00000004 |
Texture interpolation of vertices |
00000008 |
Color interpolation of faces |
00000010 |
Color interpolation of edges |
00000020 |
Color interpolation of vertices |
00000040 |
Color index interpolation of faces |
00000080 |
Color index interpolation of edges |
00000100 |
Lighting interpolation for faces is gouraud |
00000200 |
Lighting interpolation for faces is phong |
00000400 |
Lighting interpolation for edges is gouraud |
00000800 |
Lighting interpolation for edges is phong |
00001000 |
Hidden surface algorithm specified, hsr present if on |
00002000 |
Hidden surface algorithm for transparent items specified, hsr present if on |
00004000 |
Local viewer |
00008000 |
Perspective Correction |
00010000 |
Display Lists |
00020000 |
Debug, debug present if on |
00040000 |
Technology, tech_quant present if on |
00080000 |
Quantization, tech_quant present if on |
00100000 |
Attribute Locks, lock_mask and lock_value present if on |
00200000 |
Face Displacement, face_displacement present if on |
00400000 |
Fog, fog_limits present if on |
00800000 |
Buffer Options, buffer_options_mask & buffer_options_value
present if on |
01000000 |
Hidden Line Options, hidden_line_options
present if on |
02000000 |
LODs desired |
04000000 |
LOD Options, LOD_options_mask & LOD_options_value
present if on |
08000000 |
NURBS Curve Options, nurbs_options_mask & nurbs_options_value
present if on |
10000000 |
NURBS Surface Options, nurbs_options_mask & nurbs_options_value
present if on |
20000000 |
Stereo Requested |
40000000 |
Stereo Separation, stereo_separation present if on |
80000000 |
Extended, mask & value are extended with an extra
Long if on |
Mask/Value extended bits:
00000001 |
Tessellations, tessellation_options present if on |
00000002 |
Transparency style, transparency present if on |
00000004 |
Hardware acceleration for transparency requested if on |
00000008 |
Options for processing geometry cuts info capping faces, cut_geometry_options present if on |
00000010 |
Z-buffer depth range mapping, depth_range present if on |
HSR algorithms:
0 |
Hardware |
1 |
Software Z Buffer |
2 |
Painter's |
3 |
Z-Sort |
4 |
Priority |
5 |
Spider Web |
6 |
Hidden Line |
7 |
None (used with transparency) |
8 |
Fast Hidden Line |
Technology and Quantization bits:
01 |
Standard Technology |
02 |
Software Frame Buffer |
04 |
Radiosity |
08 |
Ray-trace |
10 |
Threshold Quantization |
20 |
Dither |
40 |
Error Diffusion |
Attribute Lock bits:
00000001 |
Callbacks |
00000002 |
Camera |
00000004 |
Color, color_lock_mask and color_lock_value present if on |
00000008 |
Color Map |
00000010 |
Driver |
00000020 |
Driver Options |
00000040 |
Edge Pattern |
00000080 |
Edge Weight |
00000100 |
Face Pattern |
00000200 |
Handedness |
00000400 |
Heuristics |
00000800 |
Line Pattern |
00001000 |
Line Weight |
00002000 |
Marker Size |
00004000 |
Marker Symbol |
00008000 |
Metafile |
00010000 |
Modelling Matrix |
00020000 |
Rendering Options |
00040000 |
Selectability |
00080000 |
Styles |
00100000 |
Text Alignment |
00200000 |
Text Font |
00400000 |
Text Path |
00800000 |
Text Spacing |
01000000 |
User Options |
02000000 |
User Value |
04000000 |
Texture Matrix |
08000000 |
Visibility, visibility_lock_mask and visibility_lock_value present if on |
10000000 |
Window |
20000000 |
Window Frame |
40000000 |
Window Pattern |
Buffer Options:
0x01 |
Buffer Size Limit, buffer_size_limit present if on |
0x02 |
Buffer should be retained |
0x04 |
Buffer color depth should match device |
0x08 |
Buffer color depth should be full RGB |
Hidden Line Options:
0x0001 |
Hidden Lines are Visible |
0x0002 |
Hidden Lines are Not Visible |
0x0004 |
Hidden lines drawn with a Pattern, hidden_line_pattern present if on |
0x0008 |
Hidden Line Face Displacement, hidden_line_face_displacement present if on |
0x0010 |
Hidden Lines drawn with a Dimmed Color, hidden_line_dim_factor present if on |
0x0020 |
Attempt to draw faces here also if on |
0x0040 |
Do not draw faces here if on |
0x0080 |
Extended, hidden_line_options is extended with an extra Byte if on |
0x0100 |
Attempt silhouette edge cleanup if on |
0x0200 |
Do not do silhouette edge cleanup if on |
LOD Options:
0x00000001 |
Conserve Memory |
0x00000002 |
Screen Space |
0x00000004 |
Physical |
0x00000008 |
Tolerance is specified as FRU |
0x00000010 |
Tolerance is specified as ORU |
0x00000020 |
LODs should be generated as a Preprocess step |
0x00000040 |
Bounding volume calculations should use the current bounding volume |
0x00000080 |
Bounding volume is given explicitly |
0x00000100 |
Ratios are specified |
0x00000200 |
Thresholds are specified |
0x00000400 |
Min Triangle Count is specified |
0x00000800 |
Clamp level is specified |
0x00001000 |
Num Levels is specified |
0x00002000 |
Max_Degree is specified |
0x00004000 |
Tolerance is specified |
0x00008000 |
Usefulness Heuristic is specified |
0x00010000 |
Calculation Cutoffs are specified |
0x00020000 |
Fallback method is specified |
0x00040000 |
Duplicate vertices should be collapsed into a single vertex |
0x00080000 |
Algorithm for LOD generaation is specified |
0x00100000 |
LOD mode is set, segment level if matching value bit is set, geometry level if not |
LOD Threshold Units:
1 |
Triangles per Square Pixel |
2 |
triangles per Square Centimeter |
3 |
percentage of display area |
LOD Algorithms:
1 |
Fast Algorithm |
2 |
Nice Algorithm |
LOD Fallback Heuristic Choices:
0 |
bounding diagonal |
1 |
bounding diagonal per triangle |
2 |
bounding diagonal ratio |
3 |
bounding diagonal ratio per triangle |
4 |
bounding volume |
5 |
bounding volume per triangle |
6 |
bounding volume ratio |
7 |
bounding volume ratio per triangle |
8 |
triangle size |
LOD Fallback Choices:
0 |
None |
1 |
Bounding Box |
2 |
Coarsest LOD |
3 |
Coarsest LOD or None |
4 |
Coarsest LOD or Bounding Box |
NURBS Options:
0x01 |
NURBS Curve Budget, nurbs_curve_budget present if on |
0x02 |
NURBS Curve Continued Budget, nurbs_curve_continued_budget present if on |
0x04 |
NURBS Curve View Dependent Tessellation |
0x10 |
NURBS Surface Budget, nurbs_surface_budget present if on |
0x20 |
NURBS Surface Trim Budget, nurbs_surface_trim_budget present if on |
0x40 |
NURBS Surface Max Trim Curve Deviation, nurbs_surface_max_trim_curve_deviation present if on |
0x80 |
Extended, nurbs_options_mask & nurbs_options_value are extended with an extra
Byte if on |
0x0100 |
NURBS Surface Max Facet Angle, nurbs_surface_max_facet_angle present if on |
0x0200 |
NURBS Surface Max Facet Deviation, nurbs_surface_max_facet_deviation present if on |
0x0400 |
NURBS Surface Max Facet Width, nurbs_surface_max_facet_width present if on |
Tesselation Options:
0x01 |
Cylinder, tess_num_cylinder & tess_cylinder present if on |
Transparency style:
0 |
Transparency should be ignored |
1 |
Transparency should be drawn normally |
2 |
Transparency should be drawn preferrring speed over quality,
for exampe, using a transparent stipple ("screen door") pattern |
Cut Geometry Options:
0x01 |
Accumulation level for cut geometry processing, cut_geometry_level present if on |
0x02 |
Tolerance for cut geometry loop closure, cut_geometry_tolerance present if on |
Cut Geometry Levels:
0 |
Entity -- each shell will be processed invividually |
1 |
Segment -- all shells in a segment will be processed together |
2 |
Segment Tree -- all shells in the current segment and all subsegments will
be processed together. |
Extra fields for extended mask/value, and Optional fields starting at
Stereo Separation were added in HSF version 6.50.
Transparency style was added in 7.10.
Cut Geometry Options & Depth range added in 8.06.
Extended Hidden Line Options added in 9.05.
LOD_threshold_type added in 9.08.
|