Panda3D
Public Member Functions | List of all members
FisheyeMaker Class Reference

This class is similar to CardMaker, but instead of generating ordinary cards, it generates a circular rose that represents the projection of a 3-D scene through a fisheye lens. The texture coordinates of the rose are defined so that each 2-D vertex has a 3-D UVW that reflects the corresponding position in 3-D space of that particular vertex. More...

Inheritance diagram for FisheyeMaker:
Namable MemoryBase

Public Member Functions

 __init__ (str name)
 
PandaNode generate ()
 Generates a GeomNode that renders the specified geometry. More...
 
 reset ()
 Resets all the parameters to their initial defaults. More...
 
 setFov (float fov)
 Specifies the field of view of the fisheye projection. A sphere map will have a 360-degree field of view (and this is the default). More...
 
 setNumVertices (int num_vertices)
 Specifies the approximate number of vertices to be used to generate the rose. This is the approximate number of vertices that will be located within the rose's unit circle, not counting the inscribing square (if any). The actual number of vertices used may be +/- 25% of this value. More...
 
 setReflection (bool reflection)
 Sets the flag indicating whether the texture image should be mirrored (true) or normal (false). When this is true, the 3-D texture coordinates will be reversed so that the image is appropriate for a reflection. This is the best choice for generating a sphere map from a cube map. The default is false. More...
 
 setSquareInscribed (bool square_inscribed, float square_radius)
 Sets the flag that indicates whether the rose should be inscribed within a square. When this is true, an additional square is generated to inscribed the circular rose, with the indicated "radius" (the sides of the square will be 2 * square_radius). The texture coordinates of the square will uniformly map to the back pole of the cube map. More...
 
- Public Member Functions inherited from Namable
 __init__ (const Namable copy)
 
 __init__ (str initial_name)
 
 clearName ()
 Resets the Namable's name to empty. More...
 
str getName ()
 
bool hasName ()
 Returns true if the Namable has a nonempty name set, false if the name is empty. More...
 
Namable operator= (const Namable other)
 
 output (Ostream out)
 Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this. More...
 
 setName (str name)
 

Additional Inherited Members

- Static Public Member Functions inherited from Namable
static TypeHandle getClassType ()
 

Detailed Description

This class is similar to CardMaker, but instead of generating ordinary cards, it generates a circular rose that represents the projection of a 3-D scene through a fisheye lens. The texture coordinates of the rose are defined so that each 2-D vertex has a 3-D UVW that reflects the corresponding position in 3-D space of that particular vertex.

This class is particularly suited for converting cube maps to sphere maps.

Member Function Documentation

◆ __init__()

__init__ ( str  name)

◆ generate()

PandaNode generate ( )

Generates a GeomNode that renders the specified geometry.

◆ reset()

reset ( )

Resets all the parameters to their initial defaults.

◆ setFov()

setFov ( float  fov)

Specifies the field of view of the fisheye projection. A sphere map will have a 360-degree field of view (and this is the default).

◆ setNumVertices()

setNumVertices ( int  num_vertices)

Specifies the approximate number of vertices to be used to generate the rose. This is the approximate number of vertices that will be located within the rose's unit circle, not counting the inscribing square (if any). The actual number of vertices used may be +/- 25% of this value.

◆ setReflection()

setReflection ( bool  reflection)

Sets the flag indicating whether the texture image should be mirrored (true) or normal (false). When this is true, the 3-D texture coordinates will be reversed so that the image is appropriate for a reflection. This is the best choice for generating a sphere map from a cube map. The default is false.

◆ setSquareInscribed()

setSquareInscribed ( bool  square_inscribed,
float  square_radius 
)

Sets the flag that indicates whether the rose should be inscribed within a square. When this is true, an additional square is generated to inscribed the circular rose, with the indicated "radius" (the sides of the square will be 2 * square_radius). The texture coordinates of the square will uniformly map to the back pole of the cube map.

This is mainly useful to provide a good uniform background color for a sphere map so that it does not have a sharp circular edge that might produce artifacts due to numerical imprecision when mapping.