intuitiv'3d API documentation Copyright ã1993 by Cub'x SystÜmes. All Rights Reserved.

Displayer 

Inherits From:	N3DCamera : View  : Responder : Object

Declared In:	i3d/i3d_api.h

Class Description

This class is intuitiv'3d's N3DCamera subclass. Although this class is private and opaque, a protocol is defined in i3d_api.h since you can use a displayer in some case. A displayer is given as argument to the - preRender: and - postRender method. 

Method that you can use
Information about the displayer
	- constLightSet
	- rootObject
	- scene;
	- preRenderLevel

Refreshing the displayer
	- setShouldRefresh
	- justDisplay

Shadow map
	- renderShadowMapIn:from:toward:shadowDetail: 
	- renderShadowMapIn:from:toward:shadowDetail:perspective:screenWindow:fov:

Pre-rendering utilities
	- executeRibFile:panelTitle:
	- renderMapIn:from:toward:details:roll:
	- renderMapIn:details:transform:

Temporary files 
	- makeTmpFileNameIn:
	- destroyTmpFile:

Instance Method

constLightSet
	- constLightSet
This method returns the id of the constant light set node. The constant light set node is the CX3DNode instance  that contains all lights.

See also: The CX3DNode class documentation 

destroyTmpFile:
	- destroyTmpFile:(const char*) filename
This method has to be called by a - postRender: implementation to destroy a temporary file. In some cases, the destruction is not immediate.

See also: makeTmpFileNameIn: 

executeRibFile:panelTitle:
	- executeRibFile:(const char*) filename panelTitle:(const char*) title
This method runs photo-realistic Renderman with the file filename as input. A modal panel is displayed during the calculation with title as title.

makeTmpFileNameIn:
	- makeTmpFileNameIn:(char*) pathName
This method creates a unique pathname for a temporary file. pathName should have a size equal to MAXPATHLEN + 1. MAXPATHLEN is defined in the sys/param.h file header.

See also: - destroyTmpFile: 

rootObject
	- rootObject
This method returns the id of the world's root object. The root object is a kind of CX3DNode.

See also: The CX3DNode class documentation 

preRenderLevel
	- (int) preRenderLevel
This method returns current pre-rendering level. You can call this method inside your implementation of the - preRender: method to discover if you should generate .tx files or if you should calculate shadow map or surface map. The pre-render level can be either PRERENDER_TEXTURE or PRERENDER_DEFAULT

See also: The file Concepts/Rendering.rtf  

renderMapIn:details: transform: 
	- renderMapIn:(const char*) filename
                  details: (float) aFloat
             transform: (RtMatrix) t;
This method calculates a surface map in the filename filename. details argument is a number from 0 to 100 % that defines the shading rate used and the size of the map. The t matrix defines the transformation applied to the world space.

See also: renderMapIn:from:toward:details:roll:

renderMapIn:from:toward:details:roll:
	- renderMapIn:(const char*) filename
      	            from: (float*) from
       	        toward: (float*) to
                  details: (float) aFloat
                        roll: (float) roll;
This method calculates a surface map in the filename filename with the camera located at the from point and looking at the to point. details argument is a number from 0 to 100 % that defines the shading rate used and the size of the map. roll defines the camera roll.

See also: renderMapIn:details:transform:

 renderShadowMapIn:from:toward:shadowDetail:
	- renderShadowMapIn:(const char*) filename
                                   from: (float*) from 
                               toward: (float*) to 
                    shadowDetail: (float) aFloat
This method generates a shadow map that you can give as argument to a light. The shadow map is calculated in perspective with a field of view equal to 90 degrees. The camera is located at the point from and looks at the point to.
The shadowDetail parameter is a parameter from 0 to 100 % that defines the size and the shading rate used to calculate the shadow map. filename is the pathname of the shadow map.

See also: - renderShadowMapIn:from:toward:shadowDetail:perspective:screenWindow:fov:

renderShadowMapIn:from:toward:shadowDetail:perspective:screenWindow:fov:
	- renderShadowMapIn:(const char*) filename
                                   from: (float*) from 
                               toward: (float*) to 
                    shadowDetail: (float) aFloat
	                  perspective:(BOOL) doPerspective
                  screenWindow:(CX3DRect*) swrect
	                                  fov:  (float) fieldOfView
This method is the general interface to generate a shadow map. The shadow map is generated in the file filename. The camera will be located at the  from point and will look toward the to point. The shadowDetail parameter is a parameter from 0 to 100 % that defines the size and the shading rate used to calculate the shadow map. If doPerspective is equal to YES, a perspective projection is done and the fieldOfView parameter is taken in account. Otherwise, an orthographic projection is done and the screen window swrect is taken in account. 

See also: - renderShadowMapIn:from:toward:shadowDetail:

scene
	- scene
This method returns the id of the Scene instance associated with the displayer. The Scene class is also private and opaque but some methods are available.

See also: The Scene class documentation 

setShouldRefresh
	- setShouldRefresh
This method marks the receiver as a Displayer that should be refresh. The receiver will be refreshed before entering the main event loop.

See also: - justDisplay