Returns vertex alpha transparency component (0.0-1.0 double).
Takes mesh (surface-based mesh entity), surface (surface handle, 0-based), vertexIndex (vertex number, 0-based).
Returns alpha as double (0.0 to 1.0) or 1.0 on error.
3D Graphics
Parameters & Returns
Parameters
meshInt
surfaceInt
vertexIndexInt
Returns
Double
Quick Summary
Returns vertex alpha transparency component (0.0-1.0 double).
Takes mesh (surface-based mesh entity), surface (surface handle, 0-based), vertexIndex (vertex number, 0-based).
Returns alpha as double (0.0 to 1.0) or 1.0 on error.
Technical Exegesis...
Returns vertex alpha transparency component (0.0-1.0 double). Takes mesh (surface-based mesh entity), surface (surface handle, 0-based), vertexIndex (vertex number, 0-based). Returns alpha as double (0.0 to 1.0) or 1.0 on error. Validates mesh exists, type is ENTITY_MESH, is surface-based, surface index valid, and vertex index valid. Returns surface->vertices[vertexIndex].color.w directly. Returns 1.0 if: invalid mesh, not surface-based, invalid surface, vertex index out of range (1.
Returns vertex alpha transparency component (0.0-1.0 double). Takes mesh (surface-based mesh entity), surface (surface handle, 0-based), vertexIndex (vertex number, 0-based). Returns alpha as double (0.0 to 1.0) or 1.0 on error. Validates mesh exists, type is ENTITY_MESH, is surface-based, surface index valid, and vertex index valid. Returns surface->vertices[vertexIndex].color.w directly. Returns 1.0 if: invalid mesh, not surface-based, invalid surface, vertex index out of range (1.0 = fully opaque, error default).
This function retrieves vertex alpha for transparency control. Alpha component controls transparency: 0.0 = fully transparent (invisible), 1.0 = fully opaque (solid), 0.5 = 50% transparent (semi-transparent). Unlike RGB (0-255 integers), alpha returned as double (0.0-1.0 float) for precision. Internal storage: color.w as float. Return value 1.0 ambiguous (could be opaque or error) - validate separately. Use cases: (1) Fade effects (animate alpha from 1.0 to 0.0 for fade-out), (2) Glass/water transparency (alpha 0.3-0.7 for see-through surfaces), (3) Particle systems (fade particles over lifetime), (4) LOD transitions (crossfade between detail levels), (5) Decals (alpha-blended bullet holes, dirt). Common pattern: For i=0 To b3dCountVertices(mesh, surf)-1, a=b3dVertexAlpha(mesh, surf, i), newAlpha = a - fadeSpeed, If newAlpha < 0.0 Then newAlpha=0.0, b3dVertexColor(mesh, surf, i, 255, 255, 255, newAlpha). Default alpha: b3dAddVertex sets alpha=1.0 (fully opaque). Alpha blending: requires enabling transparency in material/render state, GPU blends final_color = src_color x alpha + dst_color x (1-alpha). Alpha testing: can discard pixels below threshold (alpha < 0.5 = invisible) for cutout transparency (foliage, fences). Vertex alpha interpolation: alpha interpolated across triangle like colors - smooth transparency gradients possible. Typical alpha values: 1.0 = solid (walls, ground), 0.5 = translucent (glass, force field), 0.2 = mostly transparent (hologram), 0.0 = invisible (disabled geometry). RGB vs Alpha: RGB=0-255 integers (b3dVertexRed/Green/Blue), Alpha=0.0-1.0 double (b3dVertexAlpha) - different ranges! Vertex alpha modification: b3dVertexColor(mesh, surf, i, r, g, b, alpha) where alpha is double 0.0-1.0. Alternative: material alpha (entire mesh transparent), texture alpha channel (per-pixel transparency). Precision: double (64-bit float) for smooth fades. Performance: fast direct access. Render requirements: alpha blending enabled via material settings, depth sorting for correct transparency (back-to-front rendering).