Releases: Wonder-Technology/Wonder.js
begin rewrite engine
now begin rewrite engine!
Edit
use es6 import/export instead of namespace
use rollup to package
extract mini engine source
only remain the code which is needed to "show a box"
remove lib/, use it as npm package
remove tool/, use it as npm package
remove test/
support skin animation;support mobile event;add gulp task->packageAll, packageLite, packageCustom
Add
support skin animation
runtime support
fbx converter support parse skin data
support mobile event
support touch event
add Point event to encapsulate mouse and touch event
add gulp task->packageAll, packageLite, packageCustom
add debug panel
converter support embedded
Edit
move can-be-separated-from-engine logic and user-can-extended logic to extension/ folder
fix many bugs
Optimize
not send color buffer data if geometry not has it
rewrite tool->converter and scene graph
Add
add .fbx converter
add .gltf converter
support key frame->texture offset
add sound component
support basic sound
use web audio first, then fallback to html5 audio
Edit
rewrite .wd scene graph
support binary files which store primitive datas(e.g. position,normal,indice...)
rewrite whole structure of .wd file
rewrite .obj, .md2 converter
change the way of loading user script file
now load user script file by using LoaderManager
Optimze
optimize event system
optimize scene graph
only create gl texture object with the same texture data
optimize converter
now the primitive datas of the converted .wd file only has the data which are used by indices
improve outdoor scene
Add
Add Height Map Generator Tool
support Fault, MDP algorithm
Improve Terrain
support mix map
support bump map
support get Terrain height
Add Grass
support render in Grass Map way
support render in Grass Instance way
Add GameObject LOD
Add outdoor demo
add examples/demos/outdoor_scene/outdoor demo
add render test
Add
Add Pixel Render Test
Add Scene Render Test
move most samples which is used for render to render test folder which is auto tested
//run auto render test task
//note: now the render test is only passed in macbook pro retain screen, it may fail in other screen!
gulp renderTest
Edit
Support set pixelRatio by engine
now Main->setConfig support "useDevicePixelRatio" flag, if it's true, the pixelRatio will be setted by engine:
wd.Main.setConfig({
useDevicePixelRatio:true,
...
}).init();
improve 3d ui; support billboard
Add
Support Sdf Font for Bitmap Font
Support Multi Page for Bitmap Font
Support Dash Line
Support Billboard
support cylindrical billboard
support spherical billboard
support 3d ui
Add
Support 3D Bitmap Font
Support Line
Support Arrow
Edit
Import Chai Library For Assertion
tsconfig.json Now Support "filesGlob" field
Improve Compile
now remove filePath.d.ts
make .js.map work
support vao and depth texture, batch update component
Add
Support VAO extension
Support Depth Texture
Batch Update Component
now can update all entityObjects' components together to improve cache hit(data driven optimize)
Support Set WebGLContext Params
now support set: alpha,depth,stencil,antialias,premultipliedAlpha,preserveDrawingBuffer
Support Set RenderTargetTexture->renderRate
Support Hardware Scaling
Edit
Update to Typescript@1.8.10 version
render queue sort,merge gameObject
Add
Merge gameObject
Render queue sort
sort by renderGroup,renderPrority,shader,texture,vbo
add last used program cache to avoid use the same program
add last binded buffer,texture cache to avoid duplicate bind
add last sended uniform data cache to avoid duplicate send
Add more benchmark test
Edit
Clone
support the cloned gameObject share the geometry of the source gameObject
Instance
batch draw objects if hardware not support instance
Optimize city demo
reduce load time from 6s to 2s
reduce each frame from 13ms to 7ms
Optimize benchmark_1000_basic_boxes test
reduce load time from 7s to 1.5s
reduce each frame from 27ms to 16ms
support instance for batch draw
Add
Instance
support batch draw call
if hardware not support instance extension, can fallback to draw one instance in on draw call
support interacting with other components(Octree,LOD,Shadow...)
EntityObject add "clone" method
support clone gameObject, uiObject
Edit
Rewrite Shadow
extract Shadow component
support cast/receive instead of "renderList" with Light component
support shadow layer(one layer, one shadow map)
support add/remove shadow gameObject/layer at run time
Optimize Collision Detect
move sample/loader/loader_gltf_city.html sample to demo/
Break Change
rename "copy" method to "clone"