Creates polar (circular) grid mesh with concentric rings and radial segments (useful for radar, clock faces, circular terrain).
Takes textureSlots, uvMode, unique, radius (outer radius, default 5.0), rings (concentric circles, clamped 1-128, default 10), segments (angular subdivisions, clamped 3-256, default 32).
Returns mesh entity handle or 0 on failure.
3D Graphics
Parameters & Returns
Parameters
textureSlotsInt
uvModeInt
uniqueInt
radiusDouble
ringsInt
segmentsInt
Returns
Int
Quick Summary
Creates polar (circular) grid mesh with concentric rings and radial segments (useful for radar, clock faces, circular terrain).
Takes textureSlots, uvMode, unique, radius (outer radius, default 5.0), rings (concentric circles, clamped 1-128, default 10), segments (angular subdivisions, clamped 3-256, default 32).
Returns mesh entity handle or 0 on failure.
Technical Exegesis...
Creates polar (circular) grid mesh with concentric rings and radial segments (useful for radar, clock faces, circular terrain). Takes textureSlots, uvMode, unique, radius (outer radius, default 5.0), rings (concentric circles, clamped 1-128, default 10), segments (angular subdivisions, clamped 3-256, default 32). Returns mesh entity handle or 0 on failure.
Creates polar (circular) grid mesh with concentric rings and radial segments (useful for radar, clock faces, circular terrain). Takes textureSlots, uvMode, unique, radius (outer radius, default 5.0), rings (concentric circles, clamped 1-128, default 10), segments (angular subdivisions, clamped 3-256, default 32). Returns mesh entity handle or 0 on failure. Creates surface-based mesh on XZ plane (Y=0), centered at origin, adds center vertex, generates vertices in concentric rings from center to edge, connects center to first ring with triangles, connects remaining rings with quads (2 triangles each), sets all normals pointing up (0,1,0), unlocks. UV mapping: radial from center (0.5,0.5) to edge (varies by angle). Returns mesh entity handle.
This function creates circular grid with radial/angular subdivision for radar displays and circular platforms. Polar grid = circle divided by concentric rings (radius subdivisions) and radial segments (angular subdivisions). Structure: (1) Single center vertex at origin (0,0,0), (2) Concentric rings of vertices at increasing radii, (3) Each ring has 'segments' vertices evenly distributed around circle. radius parameter: outer radius of circle in world units, default 5.0. rings parameter: number of concentric circles (radial subdivisions), clamped 1-128, default 10. Each ring positioned at radius * (ring/rings). segments parameter: number of angular subdivisions (pie slices), clamped 3-256, default 32. Each segment separated by 360 degrees / segments angle. Vertex generation: center vertex + rings * (segments+1) ring vertices (extra vertex per ring for UV seam closure). Triangle pattern: first ring connects to center (segments triangles), remaining rings form quads (2 triangles each). All normals point up (0,1,0) for flat shading. UV mapping: radial coordinate system, U = 0.5 + 0.5 * cos(angle) * (ring/rings), V = 0.5 + 0.5 * sin(angle) * (ring/rings). Center at UV (0.5,0.5), edge at UV perimeter (0.0-1.0 depending on angle). Use cases: (1) Radar displays (sweeping scan visualization), (2) Clock faces (hour markings), (3) Circular platforms/arenas, (4) Radial UI elements, (5) Polar coordinate terrain (crater, dome base), (6) Speaker cones/diaphragms. Common pattern: radar=b3dCreatePolarGrid(BBR_ONE_SLOT, BBR_TEXTURE_UV, 0, 10.0, 16, 64), creates 10-unit radius radar with 16 distance rings and 64 angular segments. Vertex count: 1 (center) + rings * (segments+1). Example: 10 rings, 32 segments = 1 + 10 * 33 = 331 vertices. Triangle count: segments (center to first ring) + 2 * rings-1 * segments (remaining quads). Example: 10 rings, 32 segments = 32 + 2 * 9 * 32 = 608 triangles. Quality: higher rings = smoother radial gradients, higher segments = rounder circle. Typical values: rings=10-20 for distance zones, segments=32-64 for smooth circle. Modification pattern: b3dLockMesh -> modify vertex Y for bowl/dome shape -> b3dUpdateNormals -> b3dUnlockMesh. Alternative: b3dCreateGrid for rectangular grids, b3dCreateDisc for filled circle without subdivision, custom mesh for elliptical or spiral patterns. Radial layout: vertices arranged by angle (0 to 360 degrees around Z-axis in XZ plane). Ring spacing: uniform linear spacing by default (equal distance between rings). Use non-uniform vertex modification for logarithmic spacing. Performance: surface-based, fully editable, efficient for circular domains. Typical texture: radial gradient, concentric circles, clock face numerals, radar scan lines.