{"id":17175963,"url":"https://github.com/robinrodricks/zen3d","last_synced_at":"2026-01-05T22:31:06.619Z","repository":{"id":66331421,"uuid":"95472702","full_name":"robinrodricks/Zen3D","owner":"robinrodricks","description":"High-performance 3D engine for Adobe Flash \u0026 AIR (GPU based)","archived":false,"fork":false,"pushed_at":"2017-06-29T11:11:09.000Z","size":39486,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-15T21:47:33.251Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ActionScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robinrodricks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-06-26T17:41:47.000Z","updated_at":"2023-07-08T22:41:59.000Z","dependencies_parsed_at":"2023-02-20T19:45:47.449Z","dependency_job_id":null,"html_url":"https://github.com/robinrodricks/Zen3D","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinrodricks%2FZen3D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinrodricks%2FZen3D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinrodricks%2FZen3D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinrodricks%2FZen3D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robinrodricks","download_url":"https://codeload.github.com/robinrodricks/Zen3D/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245353674,"owners_count":20601396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T23:58:32.568Z","updated_at":"2026-01-05T22:31:06.557Z","avatar_url":"https://github.com/robinrodricks.png","language":"ActionScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zen3D\nHigh-performance 3D engine for Adobe Flash \u0026amp; AIR (GPU based)\n\n## API\n\n### Display Objects\nThe `zen.display` namespace contains visual objects that can be added to a Zen3D instance.\n\n*Stage*\n\n- **Zen3D** - A 3D scene and viewport, that contains all the 3D objects to be displayed. Similar to the Stage in 2D graphics.\n\n- **ZenStereo3D** - An extension to the Zen3D class that renders two views of the same scene for stereo rendering.\n\n*Basic objects*\n\n- **ZenObject** - The base class for all 3D display objects. Supports transformation (position, rotation, scaling), materials, animation and mouse dragging.\n\n- **ZenCamera** - A 3D camera that supports perspective and orthogonal views. Link this to a Zen3D instance to modify its viewport according to the camera position/rotation. You can create multiple cameras but only one can be active at a time.\n\n- **ZenLight** - A 3D directional or point light that supports various lighting configurations. Only objects whose materials have a LightFilter will respond to lighting.\n\n*Mesh objects*\n\n- **ZenMesh** - A 3D mesh object that holds the geometry and material used to render it.\n\n- **ZenFace** - A face that holds a number of triangles of a given 3D mesh (ZenMesh). For performance optimization, you can create a single face for all the tris in a mesh.\n\n*Graphics objects*\n\n- **ZenSpline** - A 3D B-Spline that renders multiple Spline3D objects in 3D space.\n\n- **ZenCanvas** - A 3D canvas that supports moveTo/lineTo API similar to the Graphics class. All elements are internally rendered with 3D lines, since curves are not supported by the GPU.\n\n- **ZenPrimitives** - A static class that provides methods to create various types of 3D primitives.\n\n*Other objects*\n\n- **ZenParticles** - A 3D particle manager that automatically creates 3D particles based on its configuration.\n\n- **ZenReflector** - A 3D plane that renders the reflection of nearby objects.\n\n- **ZenShadowLight** - A 3D shadow projector that renders shadows behind objects it is pointed towards. Must be added to a Zen3D instance to take effect.\n\n- **ZenBatchRenderer** - Used to efficiently render multiple faces by batching them in a single draw-call\n\n- **ZenSkyBox** - A 3D skybox that renders a six-sided cube to display a skybox texture on. \n\n\n\n### Physics\nThe `zen.physics` namespace contains a rigid-body physics engine.\n\n- **ZenPhysics** - The main physics manager that handles rigid-body dynamics for a given Zen3D instance.\n\n\n\n### Animation\nThe `zen.animation` namespace contains animation managers for meshes (ZenMesh).\n\n- **ZenSkinModifier** -  Animates a 3D mesh using skin transform to support kinematics.\n\n- **ZenVertexModifier** - Animates a single 3D vertex of a mesh using linear interpolation.\n\n\n\n### Input\nThe `zen.input` helps you handle mouse and keyboard events.\n\n- **KeyCodes** - Provides constants for detecting specific key codes.\n\n- **ZenInput** - Handles keyboard and mouse events.\n\n- **MouseEvent3D** - Fired when the user interacts with a 3D object with the mouse/touchscreen.\n\n\n\n\n### Materials\nThe `zen.materials` namespace contains texture and material objects used by meshes.\n\n- **ZenMaterial** - A complete material that can be applied to a ZenMesh. Contains multiple filters that configure the material's rendering.\n\n- **ZenTexture** - A single texture bitmap used for texture mapping and for various masks/maps. Added to a ZenMaterial using filters (see below).\n\n\n\n### Filters\nThe `zen.filters.color` namespace contains color and texture related filters that can be added to a ZenMaterial.\n\n- **ColorFilter** - A material filter that tints the face by the given color.\n\n- **ColorMatrixFilter3D** - A material filter that modifies the face by the given color matrix.\n\n- **ColorTransformFilter** - A material filter that modifies the face by the given color transform object.\n\n- **FogFilter** - A material filter that creates a fog effect.\n\n- **LightFilter** - A material filter that responds to scene lighting.\n\n- **SpecularFilter** - A material filter that responds to scene lighting supporting specular lighting.\n\n- **NullFilter** - A material filter that changes the tint by a given color .\n\n- **SelfColorFilter** - A material filter that tints the face by the given color.\n\n- **VertexColorFilter** - A material filter that changes the vertex color.\n\nThe `zen.filters.maps` namespace contains texture map and map-related filters that can be added to a ZenMaterial.\n\n- **AlphaMaskFilter** - A material filter that uses a bitmap as an alpha mask.\n\n- **CubeMapFilter** -  A material filter that uses a bitmap as a cube map.\n\n- **EnvironmentMapFilter** - A material filter that uses a bitmap for environment mapping.\n\n- **LightMapFilter** - A material filter that uses a bitmap to respond to scene lighting.\n\n- **NormalMapFilter** - A material filter that uses a bitmap to specify normals, which adds fine details to a rough mesh.\n\n- **PlanarMapFilter** - A material filter that uses a bitmap to specify a planar map.\n\n- **ReflectionMapFilter** - A material filter that uses a bitmap to specify reflection.\n\n- **SpecularMapFilter** - A material filter that uses a bitmap to specify a specular map.\n\n- **TextureMapFilter** - A material filter that displays a bitmap as the texture.\n\n- **TextureMaskFilter** - A material filter that uses a bitmap to specify which portions of the texture are visible.\n\nThe `zen.filters.transform` namespace contains transform-related filters that can be added to a ZenMaterial.\n\n- **FlipNormalsFilter** - A material filter that flips all vertex/face normals.\n\n- **SkinTransformFilter** -  A material filter that responds to skin transform.\n\n- **TransformFilter** - A material filter that responds to transform.\n\n\n\n### Geometry\nThe `zen.geom` namespace contains geometry objects used throughout the library.\n\n- **M3D** - Primitive geometric calculations for 3D matrices.\n\n- **V3D** - Primitive geometric calculations for 3D vectors and points.\n\n- **Cube3D** - An axis-aligned 3D cube that storeds information of object bounds \u0026 dimensions.\n\n- **Frame3D** - A matrix that stores information about a certain object's transform (or frame).\n\n- **Intersection3D** - A single 3D intersection between two objects.\n\n- **Spline3D** - A 3D B-spline consisting of multiple knots (SplineKnot3D).\n\n- **SplineKnot3D** - A knot on a 3D spline (Spline3D).\n\nThe `zen.geom.intersects` namespace contains calculators for various types of 3D intersections.\n\n- **MouseIntersect** - Calculates intersection of 3D objects and the mouse, or any 2D point.\n\n- **RayIntersect** - Calculates intersection of 3D objects and a 3D ray.\n\n- **SphereIntersect** - Calculates intersection of 3D objects and a 3D sphere.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinrodricks%2Fzen3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobinrodricks%2Fzen3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinrodricks%2Fzen3d/lists"}