Skip to content

Releases: Wonder-Technology/Wonder.js

totally rewrite to be middleware; support using other engine(e.g. threejs) to load gltf model;

16 Nov 08:52
Compare
Choose a tag to compare

edit

  • totally rewrite to be middleware

  • integrate with three.js, support using it to load gltf model

Bug Fixes

  • cloud-picture: fix "HitShadingData->V is wrong (in get_hit_shading_data.glsl->getHitShadingData) if the camera has a parent and the parent's transform's scale isn't 1.0(e.g. [0.2,0.2,0.2])" (8dbda60)
  • cloud-picture: fix "if metalness == 1.0, will cause computeSpecularLobeProb(in bsdf.glsl) NaN!" bug (f894660)
  • cloud-picture: fix shader->emission (bb6e975)
  • cloud-picture: uploaded texture in gpu can get alpha data (a680eb5)

Features

  • update single1_wonder.png (270dafd)
  • architecture: add InitCameraCPJobEntity, InitPassCPJobEntity (92ee13e)
  • architecture: add InitPathTracingCPJobEntity, InitAccumulationCPJobEntity (3a410a0)
  • architecture: add shader (4f1ce41)
  • architecture: add UpdateCameraCPJobEntity (b69eb34)
  • architecture: fix baseShaderPath:remove cloud_picture/ (3a23f3b)
  • architecture: ISceneGraphRepoDp->geometryRepo add isFlipTexCoordY (a9df3bb)
  • architecture: support alpha as coverage (5932613)
  • cloud-picture: add WebGPUCPAPI for get/set texture array layer size (a14a6cd)
  • cloud-picture: edit get_hit_shading_data.glsl->data.materialDiffuse: now "* diffuseColor" instead of "+ diffuseColor" (a361f10)
  • cloud-picture: fix get_hit_shading_data.glsl->get materialMetalness,materialRoughness: now "*" instead "+" factor (6bea913)
  • add snapshots (c01469f)
  • architecture: add InitWebGPUCPJobEntity (e2cb1ad)
  • architecture: add UpdateAccumulationCPJobEntity, RenderAccumulationCPJobEntity, RenderPathTracingCPJobEntity, EndRenderCPJobEntity (8a213f5)
  • architecture: add UpdatePassCPJobEntity (b5e9eda)
  • architecture: add UpdatePathTracingCPJobEntity (c57d30f)
  • architecture: add UpdateTextureArrayCPJobEntity (6ea4ed7)
  • architecture: begin change to "render middleware" (5b7c3c9)
  • architecture: fix BuildAccerlerationContainerDoService ->_convertInstanceTransformDataToContainerTransformMatrix: accept getRotation instead of getEulerAngles (58a4585)
  • architecture: pass run test: only implement start time job (582acd5)
  • asset: add "assemble wdd" draft (eef6de2)
  • asset: add WDDType (9b52ea1)
  • bsdf-material: support double side (487ede3)
  • cloud-picture: fix "double side" glsl (6b40e53)
  • cloud-picture: fix get_hit_shading_data.glsl->alpha cut (e9f9ea9)
  • cloud-picture: handle texture wrap(clampToEdge,repeat,mirror) for TextureArray (b3ac205)
  • cloud-picture: ISceneGraphRepoDp->bsdfMaterialRepo->getDiffuseColor now return (r,g,b,a) instead of (r,g,b) (a7ea7df)
  • cloud-picture: support transmission shadow (cba166f)

Performance Improvements

  • ListSt->traverse use iterate instead of recursive (1392e0c)

support transmission based on BSDF

18 Oct 10:11
Compare
Choose a tag to compare

add

  • pbr material use BSDF instead of BRDF, support thin face's transmission
    pbr material add ior, transmission, transmissionMap, specularColor, specularMap;

Bug Fixes

  • cloud-picture: fix gamma correction (29e20b9)

Features

  • bsdf-material: add specularColor, specularMap (94a486d)
  • bsdf-material: add transmission, ior, transmissionMap (4b03f73)
  • cloud-picture: edit bsdf glsl(draft v2) (40eedc3)
  • cloud-picture: edit bsdf glsl(draft) (3bc8cca)
  • cloud-picture: fix bsdf glsl; change bsdf material->roughness's, metalness's, diffuseColor's default value; (9decf5b)
  • cloud-picture: fix bsdf glsl(pass compile) (04dc06c)
  • cloud-picture: pass run test(bsdf scene) (f61d274)
  • change Result.t to Belt.Result.t (20cf628)
  • test/run should use cp api instead of run api (89281da)

add textures;

27 Sep 09:17
Compare
Choose a tag to compare

add

  • pbr material add diffuseMap, normalMap, emissionMap, channelRoughnessMetallicMap
    implement with TextureArray;
    support map with different size;

  • TransformRunAPI add "lookAt" api (@callmegaga)

Features

  • asset: add loadImages api (9829bf9)
  • asset: ignore load image stream's return value (9d34ede)
  • cloud-picture: add UpdateTextureArrayCPJobEntity job (584b815)
  • cloud-picture: edit glsl: add texture related code; edit UpdatePathTracingCPJobEntity: send texture related code; (f28a8f6)
  • cloud-picture: edit shading_data.glsl: change roughnessIntensity to 1.0 (f322a20)
  • cloud-picture: fix "if has two render geometries, the second one's tangents sended to vertex buffer is wrong" (f11d923)
  • cloud-picture: fix get_hit_shading_data.glsl bug (5561a6f)
  • cloud-picture: fix glsl: add gamma correction (eb1feaa)
  • cloud-picture: fix glsl: add inv gamma correction for specific color defined in shader (17ed877)
  • cloud-picture: fix glsl: fix gamma (e82c0cd)
  • cloud-picture: fix glsl:get_hit_shading_data.glsl (d5c5c3e)
  • cloud-picture: fix glsl:shading_data.glsl (5b6a134)
  • cloud-picture: fix UpdatePathTracingCPJob->_buildAndSetVertexBufferData->compute tangents (64ee72f)
  • cloud-picture: fix UpdatePathTracingCPJob->_buildAndSetVertexBufferData->set texCoords (982c5ae)
  • cloud-picture: fix UpdateTextureArrayCPJobEntity->_fillImageDataToBufferDataWithFixedSize: use forEach instead of traverseResultM (93d58cc)
  • cloud-picture: fix UpdateTextureArrayCPJobEntity->_fillTextureArray: create commandEncoder and submit for each layer (5dcd6ab)
  • cloud-picture: fix updateTextureArrayCPJobEntity: if has no used image id, layer count should be 1 instead of 0 (23db231)
  • cloud-picture: path tracing->vertex buffer add texCoords, tangents(compute) (f2abb26)
  • cloud-picture: rename metalRoughnessMap to channelRoughnessMetallicMap (0f462b8)
  • cloud-picture: separate "render" jobs from "update" pipeline to "render" pipeline (f94b925)
  • dependency: lookAt (5891d70)
  • geometry: add createTriangleGeometry api (3767365)
  • geometry: add texCoords (dcd3581)
  • geometry: setTexCoords add check: texCoords should in [0.0, 1.0] (5e3932f)
  • pbr-material: add setXxxMapSourceId APIs (6b15fba)
  • pbr-material: change default diffseColor to (0., 0., 0.) (ac0b57b)
  • transform: lookAt (bdc330a)
  • webgpu: remove bufferUsage->sampled (882234b)

Performance Improvements

  • cloud-picture: optimize UpdateTextureArrayCPJobEntity->_fillImageDataToBufferDataWithFixedSize (f20b336)

add test cases; add example;

16 Sep 09:10
Compare
Choose a tag to compare

example

test

  • add cloud-picture related test cases

  • pass run test

Bug Fixes

  • cloud-picture: fix "if create gameObject(should use gameObject repo dp) before init and after prepare, will error" bug (ec5b0f8)
  • cloud-picture: fix glsl (2346c0a)
  • cloud-picture: fix glsl (d808234)
  • cloud-picture: fix glsl (540c991)
  • cloud-picture: fix InitAccumulationCPJobEntity->_createAndSetPipeline->baseShaderPath (3aa29ea)
  • cloud-picture: fix InitAccumulationCPJobEntity->bind group and layout: add commonBuffer (1a7bc7e)
  • cloud-picture: fix InitPathTracingCPJobEntity->_createShaderBindingTable->groups (1026c93)
  • cloud-picture: fix InitPathTracingCPJobEntity->camera,directionLight bind group layout->visibility (7f9154d)
  • cloud-picture: fix maxPayloadSize (7facf78)
  • cloud-picture: fix UpdatePathTracingCPJobEntity->_buildAndSetPointIndexBufferData->set vertexIndex data (e670a46)
  • cloud-picture: fix UpdatePathTracingCPJobEntity->_buildAndSetSceneDescBufferData->set localToWorldMatrix data (da96b11)
  • cloud-picture: fix UpdatePathTracingCPJobEntity->bind group layout->visibility (7dbfdc8)
  • cloud-picture: fix UpdatePathTracingCPJobEntity->set vertex buffer's and index buffer's data (eb74b19)
  • cloud-picture: initWebGPUCPJobEntity should set window (1130503)
  • cloud-picture: move "build all path tracing buffer data" to UpdateTransformCPJobEntity (adcd873)
  • cloud-picture: the index buffer's data should be new type arr! (46f39f0)
  • dependency: fix IWebGPUCoreDp->passEncoderCompute->setDynamicBindGroup (f92298b)
  • dependency: fix IWebGPUCoreDp->pollEvents type (fc070bc)
  • pipeline: now if one job in the pipeline stream err, it will trigger the stream's error handler (8e11d5a)

Features

  • geometry: GeometryRunAPI add createPlaneGeometry api (9bfb1bb)
  • pipeline: add end_render job (2c20a0a)

add all components; add rayTracing,accumulation jobs;

09 Sep 03:06
Compare
Choose a tag to compare

add

  • add pbrMaterial, geometry, directionLight, basicCameraView, perspectiveCameraProjection components
  • add ray tracing pass, accumulation jobs

Features

  • cloud-picture: add "camera buffer" related logic (27baa0a)
  • cloud-picture: add init_webgpu job (d7e38c6)
  • cloud-picture: add ray tracing pass, accumulation pass jobs; (d64411e)
  • cloud-picture: add update_camera job to jobs/update/ folder (cd266e2)
  • component: add pbrMaterial, geometry, directionLight, basicCameraView, perspectiveCameraProjection components (171e1f3)
  • dependency: add IWebGPUCoreDp, IWebGPURayTracingDp (5e62880)

begin rewrite engine for cloud picture

31 Aug 03:15
Compare
Choose a tag to compare

edit

  • rewrite engine
    • use DDD + Onion archicture
    • add scene,gameObject, transform
    • add pipeline
    • split domain to construct and run/cloud_picture domains

add script component; add asset bundle;

31 May 13:01
Compare
Choose a tag to compare

add

  • add script component

    • add script event function
    • add script attribute
  • add asset bundle

  • add dispose texture

  • add skybox(draft)
    (implemented on job)

Bug Fixes

  • api: fix CoordinateAPI->convertWorldToScreen: change result to option (9dd6c50)
  • asset-bundle: fix "add manifest data" logic (357df6b)
  • asset-bundle: fix "add manifest data" logic (9cdd2e0)
  • asset-bundle: fix "generate whole asset bundle" logic (a90c52e)
  • clone: fix "clone transform": not mark dirty in CloneTransformMainService.re (000bde0)
  • event: bind mobile event use {"passive": false} (5464e01)
  • event: change point dom->target from canvas to body (688310b)
  • event: fix "unbind arcballCameraController event" bug: unbind should unbind cameraController's all binded functions (24f861f)
  • event: fix init event job->chrome bug for getMovementDeltaWhenPointerLocked (4f3e45b)
  • event: fix init event job->chrome bug for getMovementDeltaWhenPointerLocked: use skip(2) instead of skip(1) (2e7add8)
  • event: fix touch event: not prevent default (05422f1)
  • event: fix unbind arcball camera controller->keydown event (2290309)
  • event: fix unbind arcball event->dispose point drag start/drop event (8567055)
  • event: touchmove event prevent default (ee51005)
  • geometry: now "get points" use slice instead of subarray(for ios);optimize RenderJobUtils->_getOrCreateBuffer->Index: defer get indices data; (6a45c0a)
  • glsl: fix webgl1_frontLight_fragment.glsl->calcTotalLight (40574ed)
  • job: fix worker->add custom job->"if action is BEFORE, the custom job is executed after the source job(in pipeline)" bug (4db344d)
  • memory: fix QueryCPUMemoryService->isGeometryBufferNearlyFull:add judge indices16 and indices32 (27485bc)
  • redo-undo: fix deep copy gameObject record->disposedArcballCameraControllerArray (895b2e0)

Features

  • api: add APIAPI.re (606b8b1)
  • api: change scriptAPI to uncurry (a66f6ef)
  • api: reallocateCPUMemoryJobAPI add reallocateGeometry api (58f6e1c)
  • api: sceneAPI,script api add findGameObjectsByName (72382d0)
  • api: scriptAPI add more apis (0be975d)
  • asset: convert->script: support script component not has event function data/attribute (6def268)
  • asset: convert,assemble,generate add "gameObject->isActive, script->isActive, meshRenderer->isRender" (83603b8)
  • asset: wdb add script component data (5ea3908)
  • asset-bundle: add "add manifest data" logic (bcf6dd4)
  • asset-bundle: add "assemble rab", "isAssembled" logic (a92371d)
  • asset-bundle: add "assemble sab" logic (001a1d8)
  • asset-bundle: add "checkCircleDependency","removeDupliceData" logic (259919d)
  • asset-bundle: add "generate rab" logic (8e5c3c7)
  • asset-bundle: add "generate sab" logic (124e9bd)
  • asset-bundle: add "get ab progress info" logic (353c8a1)
  • asset-bundle: add "load and use asset bundle"->client logic (3fc4ecb)
  • asset-bundle: add "release asset bundle data" logic (9067e17)
  • asset-bundle: add GenerateAllABSystem and finish its logic (e7a860d)
  • asset-bundle: add more script apis (39167d7)
  • asset-bundle: FindDependencyDataSystem add findAllDependencyRAbRelativePathByBreadthSearch and fix ImportABSystem->loadAndAssembleAllDependencyRAB to use mergeArray and concat array; (37aa67f)
  • asset-bundle: fix "assembled sab->gameObject->texture->flipY not equal (generated single sab)sab->gameObject->texture->flipY" bug (4df279d)
  • asset-bundle: fix "generate single sab": now can get imageUint8Array data (b035e61)
  • asset-bundle: fix "loadAndAssembleAllDependencyRAB and loadSABAndSetToState->load order" bug: now concat and merge loadAndAssembleAllDependencyRAB and then concat loadSABAndSetToState. (2ac5441)
  • asset-bundle: fix "removeDupliceData" logic (01d4a57)
  • asset-bundle: fix api->generateSingleRAB, generateSingleSAB: not return state (2a4affd)
  • asset-bundle: fix BatchOperateWholeGeometrySystem->setGeometryData->set texCoord data (84b837a)
  • asset-bundle: fix cache api: change return value from stream to promise (efa904b)
  • asset-bundle: fix cache: ImportABSystem->loadAllDependencyRABAndSetToState,loadSABAndSetToState now not handle "initAssetBundleArrayBufferCache" logic (9434c6e)
  • asset-bundle: fix GenerateAllABAPI->generateAllABs: not check circle dependency (596703a)
  • asset-bundle: fix ImportABSystem->RAB->_loadAndAssembleRAB: use stream to wrap rabRelativePath for mergeArray (2843138)
  • asset-bundle: optimize load rabs and sab: 1.merge load all; 2.concat assemble dependency rabs (8394da3)
  • asset-bundle: run test->use.html use indexDB for cache asset bundle (7a643fc)
  • asset-bundle: script api add getAllDependencyRABCount,getLoadedDependencyRABCount (010c408)
  • asset-bundle: script api add initAllSABGameObjects,addSABSceneGameObjectChildrenToScene (1939aca)
  • asset-bundle: script api add releaseLoadedSAB,releaseLoadedRAB,releaseAssembleRABData (a874898)
  • asset-bundle: script api: add isSABAssembled (7303a19)
  • camera: unbind camera controller event: add unbindArcballCameraControllerPointScaleEvent api (7346f4c)
  • clone: fix clone script component (4c0ed54)
  • data-json: decrease setting.json->buffer->textureCountPerMaterial to 8 (58dc883)
  • dispose: add "dispose array buffer view source texture" (d5c6e77)
  • dispose: add "dispose texture" logic(draft) (dce7094)
  • dispose: fix "dispose basic source texture/array buffer view source texture->bindTextureUnitCacheMap" (c56411f)
  • dispose: fix "dispose script component": now clear script component disposed data (ecae5e7)
  • dispose: GameObjectAPI add disposeGameObjectLightMaterialComponentRemoveTexture; LightMaterialAPI add batchDisposeLightMaterialRemoveTexture; ([8b2ea84](https://github.com/Wonder-Tec...
Read more

v1.0.2

16 Mar 11:20
Compare
Choose a tag to compare
chore(release): v1.0.2

release 1.0.0 !

10 Mar 13:00
Compare
Choose a tag to compare

Bug Fixes

  • cameraTool.js->createCamera now not set aspect (25a6d13)
  • shader: fix ambient color (d9fa1ed)

Features

  • camera: eventArcballCameraControllerMainService add isTriggerKeydownEventHandler func (6b03e45)

Performance Improvements

  • memory: optimize getNormalMatrixTypeArray: now reuse normal matrix cache typeArr (8c322a9)

enter rc

05 Mar 00:44
Compare
Choose a tag to compare

Bug Fixes

  • asset: convert: now not create default material (3fed95d)
  • render: not judge lastSendGeometryData (5267e39)

Features

  • api: basicMaterialAPI add batchDisposeBasicMaterial; LightMaterialAPI add batchDisposeLightMaterial; (aa06435)