OpenGLSurface¶
Qualified name: algan.mobs.opengl\_compat.OpenGLSurface
- class OpenGLSurface(uv_func=None, u_range=None, v_range=None, resolution=None, axes=None, color=Color([0.5333, 0.5333, 0.5333, 0.0000, 1.0000]), colorscale=None, colorscale_axis=2, opacity=1.0, gloss=0.3, shadow=0.4, prefered_creation_axis=1, epsilon=1e-05, render_primitive=None, depth_test=True, shader_folder=None, **kwargs)[source]¶
Bases:
SurfaceMethods
get_surface_points_and_nudged_pointsget_triangle_indicesReturn one smooth unit normal for each sampled surface vertex.
sort_faces_back_to_frontuv_funcAttributes
animation_managerThis mob's scene-owned animation manager.
basisThe Mob's orientation and scale, as a flattened 3x3 matrix of shape
(*, 9).casts_shadowsWhether this Mob's geometry blocks light on its way from a light source to another surface -- whether it casts a shadow.
childrenThe Mobs attached below this one, in attachment order.
closed_shellWhether this Mob's triangles form a CLOSED shell -- every camera ray that enters the geometry crosses a second time on its way out.
color_textureAn image painted across the surface, as an
[W, H, 5]RGBA+glow tensor.draws_descendantsWhether
get_render_primitivesreturns geometry belonging to this Mob's DESCENDANTS as well as its own.forwardGet the direction the Mob is facing.
geometry_toleranceHow far this surface's mesh may sit from the exact shape, in world units.
lifespanThis mob's [spawn, despawn) interval on its Scene timeline (a
Lifespan).locationThe Mob's position in world space, shape
(*, 3).normalized_basisThe Mob's orientation with scale divided out, shape
(*, 9).parentsThe Mobs this one is attached to, in attachment order.
receives_shadowsWhether this Mob's surfaces are darkened by shadows cast onto them.
render_tolerance_pixelsHow far a drawn triangle may sit from the true surface, in pixels.
rightGet the Mob's own rightward direction.
scale_coefficientThe Mob's scale along its own right, up and forward axes, shape
(*, 3).two_sidedWhether this Mob's geometry should be lit from whichever side the ray arrives on.
upGet the Mob's own upward direction.
verticesThe surface's vertex positions, shape
(*, grid_width * grid_height, 3).xThe Mob's x coordinate in world units, shape
(*, 1).xyThe Mob's x and y coordinates in world units, shape
(*, 2).yThe Mob's y coordinate in world units, shape
(*, 1).zThe Mob's z coordinate in world units, shape
(*, 1).- get_unit_normals()[source]¶
Return one smooth unit normal for each sampled surface vertex.
Oriented the way the renderer orients them (outward, for the built-in shapes), because both go through
_reshape_grid_for_render(). The v axis that reorientation reverses is put back before flattening, so row i is still the normal ofgrid.location’s row i.