GopherGfx is a high-level scene graph library written in TypeScript and WebGL2. It was originally written by Prof. Evan Suma Rosenberg.
This version of GopherGfx includes some small modifications to best support the learning objectives in Prof. Dan Keefe's CSci-4611: Programming Interactive Computer Graphics and Games at the University of Minnesota - Twin Cities.
You can view this GopherGfx's source code and auto-generated documentation online:
- Source code: https://github.com/ivlab/GopherGfx
- Online documentation: https://ivlab.github.io/GopherGfx/
- {@link GfxApp}
- {@link Scene}
- {@link Node2}
- {@link Node3}
- {@link Camera}
- {@link Renderer}
2D:
- {@link Geometry2Factory}
- {@link Line2}
- {@link Mesh2}
- {@link Particles2}
3D:
- {@link Geometry3Factory}
- {@link Line3}
- {@link Mesh3}
- {@link MorphMesh3}
Base:
- {@link Color}
- {@link Texture}
- {@link Text}
- {@link Material2}
- {@link Material3}
- {@link ShaderProgram}
Specific Materials:
- {@link UnlitMaterial}
- {@link WireframeMaterial}
- {@link GouraudMaterial}
- {@link PhongMaterial}
- {@link MorphMaterial}
- {@link BoundingVolumeMaterial}
Lighting:
- {@link LightManager}
- {@link Light}
- {@link AmbientLight}
- {@link DirectionalLight}
- {@link PointLight}
Base:
- {@link Vector2}
- {@link Vector3}
- {@link Matrix3}
- {@link Matrix4}
- {@link Quaternion}
- {@link MathUtils}
Additional:
- {@link Ray3}
- {@link Plane3}
- {@link BoundingBox2}
- {@link BoundingBox3}
- {@link BoundingCircle}
- {@link BoundingSphere}
- {@link CurvePath2}
- {@link CurvePath3}
- {@link LinearPath2}
- {@link LinearPath3}
- {@link FirstPersonControls}
- {@link OrbitControls}
- {@link TransformWidget}
- {@link AssetManager}
- {@link MeshLoader}
- {@link MeshParser}
- {@link MeshWriter}
- {@link TextFileLoader}
- {@link StringParser}
- {@link FileWriter}
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.