three_dart

Dart 3D library. an easy to use, lightweight, cross-platform, general purpose 3D library.

three.js rewrite by Dart. 3D for Flutter. Base on flutter_gl

support Web, iOS, Android, macOS, Windows

Linux TODO, need flutter_gl support

three.js r138

Example Demo on flutter web https://wasabia.github.io/three_dart_example/#/

Getting Started

First at all. Follow flutter_gl Usage flutter_gl

TODO

Usage

check example project

camera = new three.PerspectiveCamera( 40, 1, 0.1, 10 );
camera.position.z = 3;

scene = new three.Scene();
camera.lookAt(scene.position);

scene.background = three.Color(1.0, 1.0, 1.0);
scene.add( new three.AmbientLight( 0x222244, null ) );

var geometryCylinder = new three.CylinderGeometry( 0.5, 0.5, 1, 32 );
var materialCylinder = new three.MeshPhongMaterial( { "color": 0xff0000 } );

mesh = new three.Mesh( geometryCylinder, materialCylinder );
scene.add( mesh );

Example

cd example && flutter run

3

TODO

  • unit test
  • more example
  • README && Document
  • and so on...

Issues

File any issues, bugs, or feature requests.

Contributing

Pull request please!

Libraries and Plugins

https://github.com/wasabia/three_dart_jsm

https://github.com/wasabia/opentype

https://github.com/wasabia/typr_dart

Libraries

extensions/list_extension
extra/blob
extra/console
extra/performance
three3d/animation/animation_action
three3d/animation/animation_clip
three3d/animation/animation_mixer
three3d/animation/animation_object_group
three3d/animation/animation_utils
three3d/animation/index
three3d/animation/keyframe_track
three3d/animation/property_binding
three3d/animation/property_mixer
three3d/animation/sprite_animator
three3d/animation/tracks/boolean_keyframe_track
three3d/animation/tracks/color_keyframe_track
three3d/animation/tracks/number_keyframe_track
three3d/animation/tracks/quaternion_keyframe_track
three3d/animation/tracks/string_keyframe_track
three3d/animation/tracks/vector_keyframe_track
three3d/cameras/array_camera
three3d/cameras/camera
three3d/cameras/cube_camera
three3d/cameras/index
three3d/cameras/orthographic_camera
three3d/cameras/perspective_camera
three3d/cameras/stereo_camera
three3d/constants
three3d/core/base_buffer_attribute
three3d/core/buffer_attribute
three3d/core/buffer_geometry
three3d/core/clock
three3d/core/event_dispatcher
three3d/core/gl_buffer_attribute
three3d/core/index
three3d/core/instanced_buffer_attribute
three3d/core/instanced_buffer_geometry
three3d/core/instanced_interleaved_buffer
three3d/core/interleaved_buffer
three3d/core/interleaved_buffer_attribute
three3d/core/layers
three3d/core/object_3d
three3d/core/raycaster
three3d/dart_helpers
three3d/extras/core/curve
three3d/extras/core/curve_path
three3d/extras/core/interpolations
three3d/extras/core/path
three3d/extras/core/shape
three3d/extras/core/shape_path
three3d/extras/core/svg_path
three3d/extras/core/ttf_font
three3d/extras/core/typr_font
three3d/extras/curves/catmull_rom_curve3
three3d/extras/curves/cubic_bezier_curve
three3d/extras/curves/ellipse_curve
three3d/extras/curves/line_curve
three3d/extras/curves/quadratic_bezier_curve
three3d/extras/curves/spline_curve
three3d/extras/data_utils
three3d/extras/earcut
three3d/extras/image_utils
three3d/extras/index
three3d/extras/pmrem_generator
three3d/extras/shape_utils
three3d/geometries/box_geometry
three3d/geometries/circle_geometry
three3d/geometries/cone_geometry
three3d/geometries/convex_geometry
three3d/geometries/cylinder_geometry
three3d/geometries/dodecahedron_geometry
three3d/geometries/edges_geometry
three3d/geometries/extrude_geometry
three3d/geometries/icosahedron_geometry
three3d/geometries/index
three3d/geometries/lathe_geometry
three3d/geometries/octahedron_geometry
three3d/geometries/parametric_geometry
three3d/geometries/plane_geometry
three3d/geometries/polyhedron_geometry
three3d/geometries/ring_geometry
three3d/geometries/shape_geometry
three3d/geometries/sphere_geometry
three3d/geometries/tetrahedron_geometry
three3d/geometries/text_geometry
three3d/geometries/torus_geometry
three3d/geometries/torus_knot_geometry
three3d/geometries/tube_geometry
three3d/geometries/wireframe_geometry
three3d/helpers/arrow_helper
three3d/helpers/axes_helper
three3d/helpers/box3_helper
three3d/helpers/box_helper
three3d/helpers/camera_helper
three3d/helpers/directional_light_helper
three3d/helpers/grid_helper
three3d/helpers/hemisphere_light_helper
three3d/helpers/index
three3d/helpers/plane_helper
three3d/helpers/point_light_helper
three3d/helpers/polar_grid_helper
three3d/helpers/skeleton_helper
three3d/helpers/spot_light_helper
three3d/lights/ambient_light
three3d/lights/directional_light
three3d/lights/directional_light_shadow
three3d/lights/hemisphere_light
three3d/lights/hemisphere_light_probe
three3d/lights/index
three3d/lights/light
three3d/lights/light_probe
three3d/lights/light_shadow
three3d/lights/point_light
three3d/lights/point_light_shadow
three3d/lights/rect_area_light
three3d/lights/spot_light
three3d/lights/spot_light_shadow
three3d/loaders/buffer_geometry_loader
three3d/loaders/cache
three3d/loaders/data_texture_loader
three3d/loaders/file_loader
three3d/loaders/font_loader
three3d/loaders/image_loader
three3d/loaders/image_loader_for_app
three3d/loaders/image_loader_for_web
three3d/loaders/index
three3d/loaders/loader
three3d/loaders/loader_utils
three3d/loaders/loading_manager
three3d/loaders/material_loader
three3d/loaders/object_loader
three3d/loaders/svg_loader
three3d/loaders/svg_loader_parser
three3d/loaders/svg_loader_points_to_stroke
three3d/loaders/texture_loader
three3d/materials/group_material
three3d/materials/index
three3d/materials/line_basic_material
three3d/materials/line_dashed_material
three3d/materials/material
three3d/materials/mesh_basic_material
three3d/materials/mesh_depth_material
three3d/materials/mesh_distance_material
three3d/materials/mesh_lambert_material
three3d/materials/mesh_matcap_material
three3d/materials/mesh_normal_material
three3d/materials/mesh_phong_material
three3d/materials/mesh_physical_material
three3d/materials/mesh_standard_material
three3d/materials/mesh_toon_material
three3d/materials/points_material
three3d/materials/raw_shader_material
three3d/materials/shader_material
three3d/materials/shadow_material
three3d/materials/sprite_material
three3d/math/box2
three3d/math/box3
three3d/math/color
three3d/math/color_management
three3d/math/convex_hull
three3d/math/cylindrical
three3d/math/euler
three3d/math/frustum
three3d/math/index
three3d/math/interpolant
three3d/math/interpolants/cubic_interpolant
three3d/math/interpolants/discrete_interpolant
three3d/math/interpolants/linear_interpolant
three3d/math/interpolants/quaternion_linear_interpolant
three3d/math/line3
three3d/math/math
three3d/math/math_utils
three3d/math/matrix3
three3d/math/matrix4
three3d/math/plane
three3d/math/quaternion
three3d/math/ray
three3d/math/sphere
three3d/math/spherical
three3d/math/spherical_harmonics3
three3d/math/triangle
three3d/math/uuid
three3d/math/vector2
three3d/math/vector3
three3d/math/vector4
three3d/objects/bone
three3d/objects/group
three3d/objects/index
three3d/objects/instanced_mesh
three3d/objects/line
three3d/objects/line_loop
three3d/objects/line_segments
three3d/objects/mesh
three3d/objects/points
three3d/objects/skeleton
three3d/objects/skinned_mesh
three3d/objects/sprite
three3d/renderers/index
three3d/renderers/shaders/index
three3d/renderers/shaders/shader_chunk
three3d/renderers/shaders/shader_chunk/alphamap_fragment.glsl
three3d/renderers/shaders/shader_chunk/alphamap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/alphatest_fragment.glsl
three3d/renderers/shaders/shader_chunk/alphatest_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/aomap_fragment.glsl
three3d/renderers/shaders/shader_chunk/aomap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/begin_vertex.glsl
three3d/renderers/shaders/shader_chunk/beginnormal_vertex.glsl
three3d/renderers/shaders/shader_chunk/bsdfs.glsl
three3d/renderers/shaders/shader_chunk/bumpmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/clearcoat_normal_fragment_begin.glsl
three3d/renderers/shaders/shader_chunk/clearcoat_normal_fragment_maps.glsl
three3d/renderers/shaders/shader_chunk/clearcoat_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/clipping_planes_fragment.glsl
three3d/renderers/shaders/shader_chunk/clipping_planes_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/clipping_planes_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/clipping_planes_vertex.glsl
three3d/renderers/shaders/shader_chunk/color_fragment.glsl
three3d/renderers/shaders/shader_chunk/color_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/color_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/color_vertex.glsl
three3d/renderers/shaders/shader_chunk/common.glsl
three3d/renderers/shaders/shader_chunk/cube_uv_reflection_fragment.glsl
three3d/renderers/shaders/shader_chunk/default_fragment.glsl
three3d/renderers/shaders/shader_chunk/default_vertex.glsl
three3d/renderers/shaders/shader_chunk/defaultnormal_vertex.glsl
three3d/renderers/shaders/shader_chunk/displacementmap_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/displacementmap_vertex.glsl
three3d/renderers/shaders/shader_chunk/dithering_fragment.glsl
three3d/renderers/shaders/shader_chunk/dithering_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/emissivemap_fragment.glsl
three3d/renderers/shaders/shader_chunk/emissivemap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/encodings_fragment.glsl
three3d/renderers/shaders/shader_chunk/encodings_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/envmap_common_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/envmap_fragment.glsl
three3d/renderers/shaders/shader_chunk/envmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/envmap_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/envmap_physical_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/envmap_vertex.glsl
three3d/renderers/shaders/shader_chunk/fog_fragment.glsl
three3d/renderers/shaders/shader_chunk/fog_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/fog_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/fog_vertex.glsl
three3d/renderers/shaders/shader_chunk/gradientmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/index
three3d/renderers/shaders/shader_chunk/lightmap_fragment.glsl
three3d/renderers/shaders/shader_chunk/lightmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/lights_fragment_begin.glsl
three3d/renderers/shaders/shader_chunk/lights_fragment_end.glsl
three3d/renderers/shaders/shader_chunk/lights_fragment_maps.glsl
three3d/renderers/shaders/shader_chunk/lights_lambert_vertex.glsl
three3d/renderers/shaders/shader_chunk/lights_pars_begin.glsl
three3d/renderers/shaders/shader_chunk/lights_phong_fragment.glsl
three3d/renderers/shaders/shader_chunk/lights_phong_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/lights_physical_fragment.glsl
three3d/renderers/shaders/shader_chunk/lights_physical_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/lights_toon_fragment.glsl
three3d/renderers/shaders/shader_chunk/lights_toon_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/logdepthbuf_fragment.glsl
three3d/renderers/shaders/shader_chunk/logdepthbuf_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/logdepthbuf_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/logdepthbuf_vertex.glsl
three3d/renderers/shaders/shader_chunk/map_fragment.glsl
three3d/renderers/shaders/shader_chunk/map_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/map_particle_fragment.glsl
three3d/renderers/shaders/shader_chunk/map_particle_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/metalnessmap_fragment.glsl
three3d/renderers/shaders/shader_chunk/metalnessmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/morphcolor_vertex.glsl
three3d/renderers/shaders/shader_chunk/morphnormal_vertex.glsl
three3d/renderers/shaders/shader_chunk/morphtarget_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/morphtarget_vertex.glsl
three3d/renderers/shaders/shader_chunk/normal_fragment_begin.glsl
three3d/renderers/shaders/shader_chunk/normal_fragment_maps.glsl
three3d/renderers/shaders/shader_chunk/normal_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/normal_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/normal_vertex.glsl
three3d/renderers/shaders/shader_chunk/normalmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/output_fragment.glsl
three3d/renderers/shaders/shader_chunk/packing.glsl
three3d/renderers/shaders/shader_chunk/premultiplied_alpha_fragment.glsl
three3d/renderers/shaders/shader_chunk/project_vertex.glsl
three3d/renderers/shaders/shader_chunk/roughnessmap_fragment.glsl
three3d/renderers/shaders/shader_chunk/roughnessmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/shadowmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/shadowmap_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/shadowmap_vertex.glsl
three3d/renderers/shaders/shader_chunk/shadowmask_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/skinbase_vertex.glsl
three3d/renderers/shaders/shader_chunk/skinning_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/skinning_vertex.glsl
three3d/renderers/shaders/shader_chunk/skinnormal_vertex.glsl
three3d/renderers/shaders/shader_chunk/specularmap_fragment.glsl
three3d/renderers/shaders/shader_chunk/specularmap_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/tonemapping_fragment.glsl
three3d/renderers/shaders/shader_chunk/tonemapping_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/transmission_fragment.glsl
three3d/renderers/shaders/shader_chunk/transmission_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/uv2_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/uv2_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/uv2_vertex.glsl
three3d/renderers/shaders/shader_chunk/uv_pars_fragment.glsl
three3d/renderers/shaders/shader_chunk/uv_pars_vertex.glsl
three3d/renderers/shaders/shader_chunk/uv_vertex.glsl
three3d/renderers/shaders/shader_chunk/worldpos_vertex.glsl
three3d/renderers/shaders/shader_lib
three3d/renderers/shaders/shader_lib/background_frag.glsl
three3d/renderers/shaders/shader_lib/background_vert.glsl
three3d/renderers/shaders/shader_lib/cube_frag.glsl
three3d/renderers/shaders/shader_lib/cube_vert.glsl
three3d/renderers/shaders/shader_lib/depth_frag.glsl
three3d/renderers/shaders/shader_lib/depth_vert.glsl
three3d/renderers/shaders/shader_lib/distanceRGBA_frag.glsl
three3d/renderers/shaders/shader_lib/distanceRGBA_vert.glsl
three3d/renderers/shaders/shader_lib/equirect_frag.glsl
three3d/renderers/shaders/shader_lib/equirect_vert.glsl
three3d/renderers/shaders/shader_lib/index
three3d/renderers/shaders/shader_lib/linedashed_frag.glsl
three3d/renderers/shaders/shader_lib/linedashed_vert.glsl
three3d/renderers/shaders/shader_lib/meshbasic_frag.glsl
three3d/renderers/shaders/shader_lib/meshbasic_vert.glsl
three3d/renderers/shaders/shader_lib/meshlambert_frag.glsl
three3d/renderers/shaders/shader_lib/meshlambert_vert.glsl
three3d/renderers/shaders/shader_lib/meshmatcap_frag.glsl
three3d/renderers/shaders/shader_lib/meshmatcap_vert.glsl
three3d/renderers/shaders/shader_lib/meshnormal_frag.glsl
three3d/renderers/shaders/shader_lib/meshnormal_vert.glsl
three3d/renderers/shaders/shader_lib/meshphong_frag.glsl
three3d/renderers/shaders/shader_lib/meshphong_vert.glsl
three3d/renderers/shaders/shader_lib/meshphysical_frag.glsl
three3d/renderers/shaders/shader_lib/meshphysical_vert.glsl
three3d/renderers/shaders/shader_lib/meshtoon_frag.glsl
three3d/renderers/shaders/shader_lib/meshtoon_vert.glsl
three3d/renderers/shaders/shader_lib/points_frag.glsl
three3d/renderers/shaders/shader_lib/points_vert.glsl
three3d/renderers/shaders/shader_lib/shadow_frag.glsl
three3d/renderers/shaders/shader_lib/shadow_vert.glsl
three3d/renderers/shaders/shader_lib/sprite_frag.glsl
three3d/renderers/shaders/shader_lib/sprite_vert.glsl
three3d/renderers/shaders/shader_lib/vsm_frag.glsl
three3d/renderers/shaders/shader_lib/vsm_vert.glsl
three3d/renderers/shaders/uniforms_lib
three3d/renderers/shaders/uniforms_utils
three3d/renderers/web_gl_3d_render_target
three3d/renderers/web_gl_array_render_target
three3d/renderers/web_gl_cube_render_target
three3d/renderers/web_gl_multiple_render_targets
three3d/renderers/web_gl_multisample_render_target
three3d/renderers/web_gl_render_target
three3d/renderers/web_gl_renderer
three3d/renderers/webgl/index
three3d/renderers/webgl/web_gl_animation
three3d/renderers/webgl/web_gl_attributes
three3d/renderers/webgl/web_gl_background
three3d/renderers/webgl/web_gl_binding_states
three3d/renderers/webgl/web_gl_buffer_renderer
three3d/renderers/webgl/web_gl_capabilities
three3d/renderers/webgl/web_gl_clipping
three3d/renderers/webgl/web_gl_cube_maps
three3d/renderers/webgl/web_gl_cube_uv_maps
three3d/renderers/webgl/web_gl_extensions
three3d/renderers/webgl/web_gl_geometries
three3d/renderers/webgl/web_gl_indexed_buffer_renderer
three3d/renderers/webgl/web_gl_info
three3d/renderers/webgl/web_gl_lights
three3d/renderers/webgl/web_gl_materials
three3d/renderers/webgl/web_gl_morphtargets
three3d/renderers/webgl/web_gl_objects
three3d/renderers/webgl/web_gl_parameters
three3d/renderers/webgl/web_gl_program
three3d/renderers/webgl/web_gl_program_extra
three3d/renderers/webgl/web_gl_programs
three3d/renderers/webgl/web_gl_properties
three3d/renderers/webgl/web_gl_render_list
three3d/renderers/webgl/web_gl_render_lists
three3d/renderers/webgl/web_gl_render_states
three3d/renderers/webgl/web_gl_shader
three3d/renderers/webgl/web_gl_shader_cache
three3d/renderers/webgl/web_gl_shadow_map
three3d/renderers/webgl/web_gl_state
three3d/renderers/webgl/web_gl_textures
three3d/renderers/webgl/web_gl_uniforms
three3d/renderers/webgl/web_gl_uniforms_helper
three3d/renderers/webgl/web_gl_utils
three3d/renderers/webxr/web_xr_manager
three3d/scenes/fog
three3d/scenes/fog_exp2
three3d/scenes/index
three3d/scenes/scene
three3d/textures/canvas_texture
three3d/textures/compressed_texture
three3d/textures/cube_texture
three3d/textures/data_3d_texture
three3d/textures/data_array_texture
three3d/textures/data_texture
three3d/textures/depth_texture
three3d/textures/framebuffer_texture
three3d/textures/image_element
three3d/textures/index
three3d/textures/open_gl_texture
three3d/textures/source
three3d/textures/texture
three3d/textures/video_texture
three3d/three
three3d/three_helper
three3d/typeface_convert
three3d/utils
three3d/weak_map
three_dart