Releases: Wonder-Technology/Wonder.js
Releases · Wonder-Technology/Wonder.js
totally rewrite to be middleware; support using other engine(e.g. threejs) to load gltf model;
totally rewrite to be middleware; support using other engine(e.g. threejs) to load gltf model;
Latest
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
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;
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;
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
add all components; add rayTracing,accumulation jobs;
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
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;
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...