formZ SDK | 4.0 Call Back Reference | Renderer

fz_rndr_attr_enum

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

, fz_rndr_get_attr

Defined in

fz_rndr_api.h