|
| ColRGBA | get_atom_color (int i, int j, double al, int picked, gboolean to_pick) |
| | get atom (or clone) color
|
| int | sphere_vertices (int qual) |
| | return the number of OpenGL vertices to render a sphere
|
| int | sphere_indices (int qual) |
| | return the number of OpenGL indices to render a sphere
|
| object_3d * | draw_sphere (int quality) |
| | OpenGL 3D sphere object rendering.
|
| object_3d * | draw_billboard_quad () |
| | create a camera-aligned billboard quad proxy for perfect impostors.
|
| float | get_sphere_radius (int style, int sp, int ac, int sel) |
| | get an atom sphere radius
|
| void | setup_sphere_vertice (float *vertices, vec3_t pos, ColRGBA col, float rad, float alpha) |
| | fill the OpenGL data buffer for a atom (or clone) to render
|
| void | setup_this_atom (int style, gboolean to_pick, gboolean picked, atom *at, int ac, float *vert, float al) |
| | prepare the OpenGL rendering data of an atom / clone
|
| int | find_atom_vertices (gboolean to_pick) |
| | find the number of atom(s) to render
|
| void | setup_atom_vertices (int style, gboolean to_pick, float *vertices) |
| | prepare an atom OpenGL rendering
|
| void | prepare_clone (int style, gboolean to_pick, int picked, atom at, atom bt, float x, float y, float z, float *vertices) |
| | prepare the rendering data of a clone
|
| int | find_clone_vertices (gboolean to_pick) |
| | find the number of clones to render
|
| void | setup_clone_vertices (int style, gboolean to_pick, float *vertices) |
| | find clone(s) position(s), color(s) and prepare the data for the OpenGL rendering
|
| void | atom_positions_colors_and_sizes (int style, gboolean to_pick, float *instances) |
| | find atom(s) position(s), color(s) and prepare the data for the OpenGL rendering
|
| void | create_atom_lists (gboolean to_pick) |
| | prepare atom(s) and clone(s) OpenGL rendering
|
create a camera-aligned billboard quad proxy for perfect impostors.
The quad has 4 vertices at unit corners (±1, ±1, 0). Each vertex shader for perfect impostors uses the sign of vert.x / vert.y to select the corresponding edge of the tight axis-aligned bounding box in view space.
Draw primitive: GL_TRIANGLE_STRIP with indices [0,1,2,3]. tri 0 → vertices 0,1,2 tri 1 → vertices 1,2,3
Definition at line 273 of file d_atoms.c.