pomdog
pomdog copied to clipboard
Integrate experimental library into core library
I have the following plan:
- Reimplement some experimental library, such as sprite renderer, shape/primitive renderer, easings, particle system, post effects and font renderer.
- Integrate experimental library (e.g.
libpomdog_experimental.a
) into core library (e.g.libpomdog.a
). Btw, some libraries have already been moved intoinclude/Pomdog/Experimental
. - Remove the obsolete Pomdog.Experimental library.
The current repository structure is the following,
- experimental/Pomdog.Experimental/ (= included in `libpomdog_experimental.a`)
- Particle2D/
- Skeletal2D/
- ...
- include/Pomdog/Experimental/ (= included in `libpomdog.a`)
- Graphics/
- Image/
- TexturePacker/
the old experimental library will be removed in the future as follows.
- include/Pomdog/Experimental/
- Graphics/
- Image/
- Particle2D/
- Skeletal2D/
- TexturePacker/
- ...
Progress / TODOs
- [x] Support Metal fully using preset shaders
- https://github.com/mogemimi/pomdog/commit/f63ba4b5c8cf4af5990b8e03564eac111e69885a
- https://github.com/mogemimi/pomdog/commit/e1f5fbfeb3d300de2232e6bb60cdbd4712099da9
- https://github.com/mogemimi/pomdog/commit/3c4f69f233a585732467b56aebb387a6aeb48a43
- https://github.com/mogemimi/pomdog/commit/7a4cb1c41dbbd37164c11393ba124f3535cdf918
- https://github.com/mogemimi/pomdog/commit/29a666902d2dfa13effb74b6e427038ad9c5f4f1
- https://github.com/mogemimi/pomdog/commit/afae4d3c29f56a9b61ea7d80dc7b8b2aaa181dd5
- https://github.com/mogemimi/pomdog/commit/466f8c915fc3cb62520629e187b941385e1c3aaf
- [ ] Reimplementation
- [x] Sprite batch renderer (https://github.com/mogemimi/pomdog/pull/30)
- [x] Emulate
glDrawArraysInstancedBaseInstance
andglDrawElementsInstancedBaseInstance
on OpenGL <= 4.1 for Mac (https://github.com/mogemimi/pomdog/commit/57a1c94591cd75f839cd8e14f2ae60984318ec1f) - [x] Optimization
- [x] Resign API (https://github.com/mogemimi/pomdog/pull/30)
- [x] Unify SpriteBatchRenderer and SpriteBatch (https://github.com/mogemimi/pomdog/pull/30)
- [x] Emulate
- [ ] TrueType font renderer
- [ ] Optimization: Change surface format from RGBA8888 to R8
- [ ] Primitive/shape renderer
- [ ] Easings
- [ ] Actions
- [ ] Particle System 2D
- [ ] Simple 2D Game Engine
- [x] Sprite batch renderer (https://github.com/mogemimi/pomdog/pull/30)
- [ ] Integrating experimental library into core library.
- [x] Moving Sprite, Primitive, Font features (https://github.com/mogemimi/pomdog/commit/5c4fbd3cd6d26e8e4456fd096622145c600087ef)
- [ ] Particle System 2D
- [x] MagicaVoxel exporter/importer (https://github.com/mogemimi/pomdog/commit/fcef973cead3869cb04794c9b0db38e068be2bc5)
- [x] Easings (https://github.com/mogemimi/pomdog/commit/f68e14f936f6f18709d6e2de16b37ec4b2b51629)
- [ ] Skeletal Animation, Skinned Mesh 2D
- [ ] Entity-component system
- [ ] Removing the obsolete Pomdog.Experimental library.