CreateSphere()

Syntax

Result = CreateSphere(#Mesh, Radius.f [, NbSegments, NbRings])
Description
Create a new sphere mesh.

Parameters

#Mesh The number to identify the new mesh. #PB_Any can be used to auto-generate this number.
Radius Radius, in world unit, of the sphere.
NbSegments (optional) Number of segments to create the sphere (default: 16). The segments are the vertical lines of the sphere. The more segments, the more realistic the sphere will be, but it will also affect the rendering speed if too many of them are specified.
NbRings (optional) Number of rings to create the sphere (default: 16). The rings are the horizontal lines of the sphere. The more rings, the more realistic the sphere will be, but it will also affect the rendering speed if too many of them are specified.

Return value

Returns nonzero if the mesh was created successfully and zero if there was an error. If #PB_Any was used as the #Mesh parameter then the new generated number is returned on success.

Example

  InitEngine3D()
  InitSprite()

  OpenWindow(0, 0, 0, 640, 480, "Sphere example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  OpenWindowedScreen(WindowID(0), 0, 0, 640, 480, 0, 0, 0)

  ; Light
  CreateLight(#PB_Any, RGB(25, 25, 180), -5, 10, 5, #PB_Light_Point)

  ; Camera
  CreateCamera(0, 0, 0, 100, 100)
  MoveCamera(0, 2, 1, 3, #PB_Absolute | #PB_Local)
  CameraLookAt(0, 0, 0, 0)

  ; Create the sphere and attach it to the scene
  CreateSphere(0, 1)
  CreateEntity(0, MeshID(0), #PB_Material_None)

  Repeat
    RenderWorld()
    FlipBuffers()
  Until WaitWindowEvent(1) = #PB_Event_CloseWindow

See Also

FreeMesh(), CreateCylinder(), CreateMesh(), CreateCube(), CreatePlane(), CreateLine3D()

Supported OS

All

<- CreatePlane() - Mesh Index - CreateTorus() ->