зеркало из https://github.com/AvaloniaUI/angle.git
46 строки
1.8 KiB
Markdown
46 строки
1.8 KiB
Markdown
# Multiplatform ANGLE Refactor Complete
|
|
|
|
ANGLE's [multiplatform refactoring effort](MANGLE.md) is now complete, paving
|
|
the way for additional rendering backends, allowing ANGLE to enable OpenGL ES
|
|
not just over Direct3D 9 and 11, but also desktop OpenGL.
|
|
|
|
The refactoring we've done encapsulates D3D-related assumptions and API calls at
|
|
the renderer level, so that no D3D calls are made in the renderer-agnostic
|
|
portions of the codebase, and D3D-specific feature implementations won't be
|
|
included on non-D3D platforms. For example, the creation and maintenance of
|
|
CPU-side copies of texture data, which are required to enable GL-style
|
|
per-mip-level texture creation over D3D's entire-mipchain texture creation API,
|
|
is contained entirely within the D3D renderers, allowing a GL implementation to
|
|
avoid this complication.
|
|
|
|
Work will now begin within ANGLE to add a desktop OpenGL renderer, and EGL
|
|
implementations compatible with OS X and Linux.
|
|
|
|
# ES 3.0 Development Status
|
|
|
|
Our ES 3.0 development branch was merged into mainline ANGLE in April 2014, but
|
|
ES 3.0 support is not yet complete. The majority of API functionality has been
|
|
implemented; features still pending include:
|
|
|
|
* ETC2/EAC support
|
|
* primitive restart index
|
|
* drawRangeElements
|
|
* full GetProgramBinary support in core
|
|
|
|
Additional work remains in the compiler, including:
|
|
|
|
* Array .length()
|
|
* inf/nan detection
|
|
* math utility functions, rounding
|
|
* VertexID/InstanceID support
|
|
* floating point packing functions
|
|
* operators new in ES 3.0
|
|
* name redeclaration
|
|
* relaxed array indexing
|
|
* switch statement support
|
|
* loop & iteration improvements
|
|
|
|
ES 3.0 features should not be considered stable, even where implemented, and
|
|
some features are present only via naive implementation so far, but we welcome
|
|
bugs filed against this functionality, and thank all our contributors!
|