formZ SDK | 4.0 Call Back Reference | Renderer
Description
Render attribute identifier. This enum is used in the function, which tells formZ what kind of capabilities a renderer has. This function receives a question in the form of an enum, and the function needs to return TRUE or FALSE as an answer to that question. Based on the answer, formZ will take the appropriate action with that renderer in various settings. For example, formZ may call this function with the FZ_RNDR_ATTR_IN_PVIEW enum. If the function returns TRUE, the rendering mode will be offered in dialogs, which offer object preview renderings, such as the Sweep Edit dialog. If the answer is FALSE, the rendering in not offered.
enum fz_rndr_attr_enum {
FZ_RNDR_ATTR_RADIOS,
FZ_RNDR_ATTR_RADIOS_PVIEW,
FZ_RNDR_ATTR_ALPHA_CHANNEL,
FZ_RNDR_ATTR_SUN_ONLY,
FZ_RNDR_ATTR_CAN_SS,
FZ_RNDR_ATTR_IN_PVIEW,
FZ_RNDR_ATTR_STAY_IN_IACT_MODE,
FZ_RNDR_ATTR_USE_PARTIAL_IMAGE,
FZ_RNDR_ATTR_USE_SAVE_IMAGE,
FZ_RNDR_ATTR_USE_SHAD_PROJ_OPTS,
FZ_RNDR_ATTR_USE_GEOM_PROJ_OPTS_OBSOLETE,
FZ_RNDR_ATTR_USE_TCTL_PROJ_OPTS,
FZ_RNDR_ATTR_HANDLE_PIXBUFF,
FZ_RNDR_ATTR_HANDLE_PANORAMIC,
FZ_RNDR_ATTR_IS_BACKGROUND,
FZ_RNDR_ATTR_USES_TMAPS,
FZ_RNDR_ATTR_HANDLE_SMOD,
FZ_RNDR_ATTR_USES_LINKED_FILES,
FZ_RNDR_ATTR_SHOW_GHOSTED_OBJ,
FZ_RNDR_ATTR_SHOW_GHOSTED_LAYER,
FZ_RNDR_ATTR_NO_BACKSAVE_PROJ_DATA };
Members
FZ_RNDR_ATTR_RADIOS
If the renderer is capable to display the illumination of a radiosity solution, it should return TRUE and FALSE otherwise
FZ_RNDR_ATTR_RADIOS_PVIEW
If the renderer is capable to display the illumination of a radiosity solution and it is fast enough to do this while generating the solution, it should return TRUE and FALSE otherwise.
FZ_RNDR_ATTR_ALPHA_CHANNEL
If the renderer is a static pixel renderer and it supports the alpha channel and the current options have this setting turned on, the function should return TRUE and FALSE otherwise.
FZ_RNDR_ATTR_SUN_ONLY
If the renderer performs only simple illumination and only uses one light, the sun light, it should return TRUE and FALSE otherwise.
FZ_RNDR_ATTR_CAN_SS
If the renderer's image can be supersampled, either by a built in method or by drawing the image larger, it should return TRUE and FALSE otherwise.
FZ_RNDR_ATTR_IN_PVIEW
If the renderer should be offered in a dialog with an object preview window, such as the Sweep Edit dialog, the function should return TRUE.
FZ_RNDR_ATTR_STAY_IN_IACT_MODE
If the function returns TRUE to this question, the rendering mode is switched from the current rendering mode to an interactive rendering mode, after performing an object creation or editing operation or a view manipulation. TRUE should only be returned if the renderer itself is non-interactive. For example, when creating a new object and the current rendering mode is RenderZone, formZ will temporarily switch to Wire Frame or Interactive Shaded while the object is rubberbanded. After that, the rendering mode returns to RenderZone. This is because, the RenderZone attribute function return FALSE to the FZ_RNDR_ATTR_STAY_IN_IACT_MODE question. If it would return TRUE, the objects would still be displayed in Wire Frame or Interactive Shaded after the creation is finished.
FZ_RNDR_ATTR_USE_PARTIAL_IMAGE
If the renderer returns TRUE to this question, the standard set image size option will automatically be added at the bottom of the renderers options dialog. TRUE should only be returned for static pixel renderers.
FZ_RNDR_ATTR_USE_SAVE_IMAGE
If the renderer returns TRUE to this question, the standard save image option will automatically be added at the bottom of the renderers options dialog. TRUE should only be returned for non-interactive renderers, which provide higher quality images, which may take a longer time to generate
FZ_RNDR_ATTR_USE_SHAD_PROJ_OPTS
If the renderer returns TRUE to this question, the standard Smooth Shading options tab in the Project Rendering Options dialog will be offered. The renderer is expected to use these settings when creating smooth shaded images in a pixel based rendering. The smooth shading settings of a project can be acquired with the API call fz_proj_rndr_opts_sshd_get.
FZ_RNDR_ATTR_USE_GEOM_PROJ_OPTS_OBSOLETE
Obsolete: 6.5.0.0. Smooth geometry resolution options should now be included in the
Renderer's options, if desired. formZ no longer offers these as project
rendering options, and therefore does not use the plugin renderer's response to this
inquiry.
If the renderer returns TRUE to this question, the standard Geometry options
tab in the Project Rendering Options dialog will be offered. The renderer
is expected to use these settings when rendering parametric and smooth
objects using the high level surfaces of the smooth and parametric objets.
FALSE should be returned, if the facets of smooth objects are always used
to render the scene. The geometry settings of a project can be acquired with
the API call .
FZ_RNDR_ATTR_USE_TCTL_PROJ_OPTS
If the renderer returns TRUE to this question, the standard Texture Map Control options tab in the Project Rendering Options dialog will be offered. The renderer is expected to use these settings when rendering textures. The renderer should use the global texture map control settings for objects which do not have a texture map control attribute. FALSE should be returned, if the renderer does not deal with textures. The texture map control settings of a project can be acquired with the API call .
FZ_RNDR_ATTR_HANDLE_PIXBUFF
Under certain circumstances, a rendering is not intended to be displayed on the screen but needs to be stored in a pixel buffer. formZ will automatically handle this if the renderer is a static pixel renderer or uses the fzrt drawing commands. In this case, FALSE should be answered to this question. However, if the renderer does not use standard drawing command, but uses hardware assistance, it must fill in the pixel buffer and must answer TRUE to this question. Pixel buffer related API functions can be found in the fzrt (formZ runtime) function set.
FZ_RNDR_ATTR_HANDLE_PANORAMIC
Does the renderer handle panoramic drawing. This should only be answered TRUE if panoramic views are supported ( must return TRUE for FZ_VIEW_TYPE_PANORAMIC) and the renderer is a vector or polygon renderer. In this case, drawing of panoramic images is solely the responsibility of the renderer. If panoramic views are supported, but FALSE is answered to this question, formZ will handle the drawing of the panorama for the renderer. This is also automatically the case, if the renderer is a static pixel renderer. This is done by asking the renderer to create a set of narrow perspectives, which are turned 90 degrees. The width of these strips is the Smoothness parameter of the panoramic view type.
FZ_RNDR_ATTR_IS_BACKGROUND
Is the renderer executing in a background process. This should only be answered TRUE if the main rendering occurs in a background process and the renderer allows the user to continue working, while the rendered image is calculated. If this is the case, the renderer is expected to fire off the background rendering process inside the fz_rndr_cbak_image_disp callback function and give control back to formZ immediately.
FZ_RNDR_ATTR_USES_TMAPS
This should be answered TRUE, if the renderer is using the texture maps of a surface style. For example, if a surface style has the Color Image Map shader and the renderer uses this texture map when rendering a surface, TRUE should be returned. Note, that not all possible texture maps of a surface style need to be supported (such as bump, ambient, diffuse etc). However, at least color and transparency maps should when answering TRUE.
FZ_RNDR_ATTR_HANDLE_SMOD
This should be answered TRUE, if the renderer renders smooth (ACIS) object using their analytic surface gemotry (i.e. renders them as smooth as possible). It should be answered as FALSE, if the facetted topolofy is always rendered
FZ_RNDR_ATTR_USES_LINKED_FILES
This should be answered TRUE, if the renderer uses linked, external files, such as texture maps or other files, that need to be found on disk in order for the renderer to proceed. These are the same files as are retreived with the callback. That is, if the renderer implements this callback and will report linked files with it, this flag needs to be set to TRUE.
FZ_RNDR_ATTR_SHOW_GHOSTED_OBJ
This should be answered TRUE, if the renderer currently shows ghosted objects.
FZ_RNDR_ATTR_SHOW_GHOSTED_LAYER
This should be answered TRUE, if the renderer currently shows ghosted layers.
FZ_RNDR_ATTR_NO_BACKSAVE_PROJ_DATA
The enum is intended as a workaround for an existing bug, which will cause a crash if a b3d or formZ 7 file is backsaved to formz version 6.7 or earlier, where the plugin writes project data in b3d or v7, but the plugin in v6.7 does not have a project io function installed Set this enum to TRUE, to avoid this bug.
Availability
5.0.0.0
See Also
Defined in