1.2.0-alpha.26 • Published 3 years ago

wonder.js v1.2.0-alpha.26

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

Wonder.js

Wonder.js is a Functional, High performance 3D WebGL Engine.

build Maintainability Test Coverage commit downloads-npm GitHub release GitHub Release Date npm

Showcases

showcase1

Design

  • Functional Programming
  • Functional Reactive Programming
  • Microservice
  • Job Pipeline
  • Multi-Thread
  • Data Oriented Design
  • Data Driven
  • ECS

Feature

  • GameObject And Component
  • Multi-thread Render
  • Texture
  • Direction,Point Light
  • Model and Scene
  • Stream Load
  • IMGUI
  • Event
  • Instance

Document

Getting Help

Support Environment

PC

  • Chrome

  • Firefox

  • 360 browser(v10.0)

  • qq browser(v10.4)

Usage

Here show a cube example(more is in examples/ folder):

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>cube</title>
</head>

<body>
    <script src="https://wonder-technology.github.io/wonder-demo.github.io/examples/wd.js"></script>

    <script>
        window.onload = function () {
            return wd.loadConfig(["https://wonder-technology.github.io/wonder-demo.github.io/examples/config/setting.json", "https://wonder-technology.github.io/wonder-demo.github.io/examples/config/"]).forEach(function (state) {
                return initSample(wd.unsafeGetState());
            })

            function _createBox(state) {
                var [state, material] = wd.createLightMaterial(state);

                var state = wd.setLightMaterialDiffuseColor(material, [0.0, 0.5, 0.2], state);
                var state = wd.setLightMaterialSpecularColor(material, [0.3, 0.1, 0.6], state);

                var [state, meshRenderer] = wd.createMeshRenderer(state);

                var [state, gameObject] = wd.createGameObject(state);

                var state = wd.addGameObjectLightMaterialComponent(gameObject, material, state);
                var state = wd.addGameObjectMeshRendererComponent(gameObject, meshRenderer, state);


                var [state, geometry] = wd.createBoxGeometry(state);


                var state = wd.addGameObjectGeometryComponent(gameObject, geometry, state);

                return [state, gameObject];
            };

            function _createCamera(state) {
                var [state, basicCameraView] = wd.createBasicCameraView(state);


                var state =
                    wd.activeBasicCameraView(
                        basicCameraView, state
                    );


                var [state, perspectiveCameraProjection] = wd.createPerspectiveCameraProjection(state);


                var state = wd.setPerspectiveCameraProjectionNear(perspectiveCameraProjection, 0.1, state);
                var state = wd.setPerspectiveCameraProjectionFar(perspectiveCameraProjection, 2000, state);
                var state = wd.setPerspectiveCameraProjectionFovy(perspectiveCameraProjection, 60, state);


                var [state, gameObject] = wd.createGameObject(state);

                var state = wd.addGameObjectBasicCameraViewComponent(gameObject, basicCameraView, state);


                var state = wd.addGameObjectPerspectiveCameraProjectionComponent(gameObject, perspectiveCameraProjection, state);

                var transform = wd.unsafeGetGameObjectTransformComponent(gameObject, state);

                var state = wd.setTransformLocalPosition(transform, [0, 10, 50], state);

                return [state, gameObject];
            };


            function _createDirectionLight(state) {
                var [state, light] = wd.createDirectionLight(state);

                var state = wd.setDirectionLightColor(light, [1.0, 0.0, 0.0], state);


                var [state, gameObject] = wd.createGameObject(state);


                var transform = wd.unsafeGetGameObjectTransformComponent(gameObject, state);

                var state = wd.setTransformLocalEulerAngles(transform, [0, 180, 0], state);


                var state = wd.addGameObjectDirectionLightComponent(gameObject, light, state);

                return [state, gameObject];
            };

            function initSample(state) {
                var [state, box] = _createBox(state);


                var state = wd.setAmbientLightColor([0.2, 0.2, 0.2], state);


                var [state, directionLightGameObject] = _createDirectionLight(state);


                var [state, cameraGameObject] = _createCamera(state);


                wd.startDirector(state);
            }
        };
    </script>
</body>
</html>

How to build

sudo yarn install //execute in project root dir

for Chinese users

npm install -g cyarn --registry=https://registry.npm.taobao.org

npm config set puppeteer_download_host=https://npm.taobao.org/mirrors

cyarn install //execute in project root dir

License

MIT Licence

Donate

You are welcome to donate for Wonder.js project! Thanks very much!

微信支付: 下载.png-6.5kB

Donors

日期头像金额(元)
2020.02.13liuxin2322999
2020.03.04rong2000
2020.04.29谢员外1000
2020.04.29mko_io999
1.2.0-alpha.21

3 years ago

1.2.0-alpha.20

3 years ago

1.2.0-alpha.23

3 years ago

1.2.0-alpha.22

3 years ago

1.2.0-alpha.25

3 years ago

1.2.0-alpha.24

3 years ago

1.2.0-alpha.26

3 years ago

1.2.0-alpha.19

3 years ago

2.0.0-alpha.6.4

3 years ago

2.0.0-alpha.6.3

3 years ago

2.0.0-alpha.6.2

3 years ago

2.0.0-alpha.6.1

3 years ago

2.0.0-alpha.5

4 years ago

2.0.0-alpha.4

4 years ago

2.0.0-alpha.3.2

4 years ago

2.0.0-alpha.3.1

4 years ago

2.0.0-alpha.3

4 years ago

2.0.0-alpha.2.2

4 years ago

2.0.0-alpha.2.1

4 years ago

2.0.0-alpha.2

4 years ago

2.0.0-alpha.1

4 years ago

1.2.0-alpha.17

5 years ago

1.2.0-alpha.14

5 years ago

1.2.0-alpha.13

5 years ago

1.2.0-alpha.12

5 years ago

1.2.0-alpha.11

5 years ago

1.2.0-alpha.10

5 years ago

1.2.0-alpha.9

5 years ago

1.2.0-alpha.8

5 years ago

1.2.0-alpha.7

5 years ago

1.2.0-alpha.6

5 years ago

1.2.0-alpha.5

5 years ago

1.2.0-alpha.4

5 years ago

1.2.0-alpha.3

5 years ago

1.2.0-alpha.2

5 years ago

1.2.0-alpha.1

5 years ago

1.1.0

5 years ago

1.1.0-alpha.13

5 years ago

1.1.0-alpha.12

5 years ago

1.1.0-alpha.11

5 years ago

1.1.0-alpha.9

5 years ago

1.1.0-alpha.8

5 years ago

1.1.0-alpha.7

5 years ago

1.1.0-alpha.6

5 years ago

1.1.0-alpha.5

5 years ago

1.1.0-alpha.4

5 years ago

1.1.0-alpha.3

5 years ago

1.1.0-alpha.2

5 years ago

1.1.0-alpha.1.9

5 years ago

1.1.0-alpha.1.8

5 years ago

1.1.0-alpha.1.7

5 years ago

1.1.0-alpha.1.6

5 years ago

1.1.0-alpha.1.5

5 years ago

1.1.0-alpha.1.4

5 years ago

1.1.0-alpha.1.3

5 years ago

1.1.0-alpha.1.2

5 years ago

1.1.0-alpha.1.1

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

1.0.0-rc.1.3

5 years ago

1.0.0-rc.1.2

5 years ago

1.0.0-rc.1.1

5 years ago

1.0.0-rc.1

5 years ago

1.0.0-beta.3.2

5 years ago

1.0.0-beta.3.1

5 years ago

1.0.0-beta.3

5 years ago

1.0.0-beta.2.12

5 years ago

1.0.0-beta.2.11

5 years ago

1.0.0-beta.2.10

5 years ago

1.0.0-beta.2.9

5 years ago

1.0.0-beta.2.7

5 years ago

1.0.0-beta.2.6

5 years ago

1.0.0-beta.2.5

5 years ago

1.0.0-beta.2.4

5 years ago

1.0.0-beta.2.3

5 years ago

1.0.0-beta.2.2

5 years ago

1.0.0-beta.2.1

5 years ago

1.0.0-beta.1.7

5 years ago

1.0.0-beta.2

5 years ago

1.0.0-beta.1.6

5 years ago

1.0.0-beta.1.5

5 years ago

1.0.0-beta.1.4

5 years ago

1.0.0-beta.1.3

5 years ago

1.0.0-beta.1.2

5 years ago

1.0.0-beta.1.1

5 years ago

1.0.0-beta.1

5 years ago

1.0.0-alpha.25

5 years ago

1.0.0-alpha.24.9

5 years ago

1.0.0-alpha.24.8

5 years ago

1.0.0-alpha.24.7

5 years ago

1.0.0-alpha.24.6

5 years ago

1.0.0-alpha.24.5

5 years ago

1.0.0-alpha.24.4

5 years ago

1.0.0-alpha.24.3

5 years ago

1.0.0-alpha.24.2

5 years ago

1.0.0-alpha.24.1

5 years ago

1.0.0-alpha.24

5 years ago

1.0.0-alpha.23.9

6 years ago

1.0.0-alpha.23.8

6 years ago

1.0.0-alpha.23.7

6 years ago

1.0.0-alpha.23.6

6 years ago

1.0.0-alpha.23.5

6 years ago

1.0.0-alpha.23.4

6 years ago

1.0.0-alpha.23.3

6 years ago

1.0.0-alpha.23.2

6 years ago

1.0.0-alpha.23.1

6 years ago

1.0.0-alpha.23

6 years ago

1.0.0-alpha.22.6

6 years ago

1.0.0-alpha.22.5

6 years ago

1.0.0-alpha.22.4

6 years ago

1.0.0-alpha.22.3

6 years ago

1.0.0-alpha.22.2

6 years ago

1.0.0-alpha.22.1

6 years ago

1.0.0-alpha.22

6 years ago

1.0.0-alpha.21.2

6 years ago

1.0.0-alpha.21

6 years ago

1.0.0-alpha.20.1

6 years ago

1.0.0-alpha.20

6 years ago

1.0.0-alpha.19.4

6 years ago

1.0.0-alpha.19.3

6 years ago

1.0.0-alpha.19.2

6 years ago

1.0.0-alpha.19.1

6 years ago

1.0.0-alpha.19

6 years ago

1.0.0-alpha.18.5

6 years ago

1.0.0-alpha.18.4

6 years ago

1.0.0-alpha.18.3

6 years ago

1.0.0-alpha.18.2

6 years ago

1.0.0-alpha.18.1

6 years ago

1.0.0-alpha.18

6 years ago

1.0.0-alpha.17.8

6 years ago

1.0.0-alpha.17.7

6 years ago

1.0.0-alpha.17.6

6 years ago

1.0.0-alpha.17.5

6 years ago

1.0.0-alpha.17.4

6 years ago

1.0.0-alpha.17.3

6 years ago

1.0.0-alpha.17.2

6 years ago

1.0.0-alpha.17.1

6 years ago

1.0.0-alpha.17

6 years ago

1.0.0-alpha.16

6 years ago

1.0.0-alpha.15

6 years ago

1.0.0-alpha.14.3

6 years ago

1.0.0-alpha.14.2

6 years ago

1.0.0-alpha.14.1

6 years ago

1.0.0-alpha.14

6 years ago

1.0.0-alpha.13.1

6 years ago

1.0.0-alpha.13

6 years ago

1.0.0-alpha.12.1

6 years ago

1.0.0-alpha.12

6 years ago

1.0.0-alpha.8.1

6 years ago

1.0.0-alpha.8

6 years ago

1.0.0-alpha.7.2

6 years ago

1.0.0-alpha.7.1

6 years ago

1.0.0-alpha.7

6 years ago

1.0.0-alpha.5.22

7 years ago

1.0.0-alpha.5.21

7 years ago

1.0.0-alpha.5.20

7 years ago

1.0.0-alpha.5.19

7 years ago

1.0.0-alpha.5.18

7 years ago

1.0.0-alpha.5.17

7 years ago

1.0.0-alpha.5.16

7 years ago

1.0.0-alpha.5.15

7 years ago

1.0.0-alpha.5.14

7 years ago

1.0.0-alpha.5.13

7 years ago

1.0.0-alpha.5.12

7 years ago

1.0.0-alpha.5.11

7 years ago

1.0.0-alpha.5.10

7 years ago

1.0.0-alpha.5.9

7 years ago

1.0.0-alpha.5.8

7 years ago

1.0.0-alpha.5.7

7 years ago

1.0.0-alpha.5.6

7 years ago

1.0.0-alpha.5.5

7 years ago

1.0.0-alpha.5.4

7 years ago

1.0.0-alpha.5.3

7 years ago

1.0.0-alpha.5.2

7 years ago

1.0.0-alpha.5.1

7 years ago

1.0.0-alpha.5.0

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago