occt: master 565baee6

Author Committer Branch Timestamp Parent
kgv apn master 2019-10-15 23:42:33 master 36e28f96
Changeset 0031070: Configuration - fix building issues when using Emscripten toolchain

Handled __EMSCRIPTEN__ macros to:
- Workaround atomics (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 is undefined, but GCC atomics are provided).
- Suppress non-standard header <sys/signal.h> warning.
- Return OSD_LinuxREDHAT.
- Avoid inclusion of XLib headers.
- Skip fontconfig library.
- Enable EGL+GLES path (translated by Emscripten into WebGL).
- Skip eglCreatePbufferSurface() not implemented by Emscripten EGL.

Fixed Graphic3d_Vec4.hxx usage within Quantity_ColorRGBA.hxx.

OpenGl_ShaderManager::defaultGlslVersion() now prefers GLSL 300 es when WebGL 2.0 is available,
as there no any OpenGL ES greater than 3.0 emulation so far.

Shaders_Declarations.glsl - added workaround for GLSL compilation on WebGL 1.0
by defining Light properties accessors as macros instead of functions
('[]' : Index expression must be constant).

OpenGl_FrameBuffer::Init() - added workaround for initialization of GL_DEPTH24_STENCIL8
depth-stencil attachment on WebGL 1.0 + GL_WEBGL_depth_texture extension.

OpenGl_Context::Vec4FromQuantityColor() now considers myIsSRgbActive flag
to handle use case, when Immediate Layer is drawn directly into window buffer,
which is not sRGB-ready.

Added new sample - OCCT WebGL viewer.
mod - dox/FILES_HTML.txt Diff File
add - dox/overview/images/sample_webgl.png Diff File
mod - dox/overview/overview.md Diff File
add - samples/webgl/.gitignore Diff File
add - samples/webgl/CMakeLists.txt Diff File
add - samples/webgl/main.cpp Diff File
add - samples/webgl/occt-webgl-sample.html Diff File
add - samples/webgl/ReadMe.md Diff File
add - samples/webgl/WasmOcctView.cpp Diff File
add - samples/webgl/WasmOcctView.h Diff File
add - samples/webgl/WasmVKeys.h Diff File
mod - src/Aspect/Aspect_DisplayConnection.cxx Diff File
mod - src/Aspect/Aspect_DisplayConnection.hxx Diff File
mod - src/Aspect/Aspect_FBConfig.hxx Diff File
mod - src/Aspect/Aspect_XWD.hxx Diff File
mod - src/Font/Font_FontMgr.cxx Diff File
mod - src/InterfaceGraphic/InterfaceGraphic.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_FrameBuffer.cxx Diff File
mod - src/OpenGl/OpenGl_GlFunctions.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_Window.cxx Diff File
mod - src/OSD/OSD_Chronometer.cxx Diff File
mod - src/OSD/OSD_MemInfo.cxx Diff File
mod - src/OSD/OSD_Path.cxx Diff File
mod - src/OSD/OSD_signal.cxx Diff File
mod - src/Quantity/Quantity_ColorRGBA.cxx Diff File
mod - src/Shaders/Declarations.glsl Diff File
mod - src/Shaders/DeclarationsImpl.glsl Diff File
mod - src/Shaders/Shaders_DeclarationsImpl_glsl.pxx Diff File
mod - src/Shaders/Shaders_Declarations_glsl.pxx Diff File
mod - src/Standard/Standard_Atomic.hxx Diff File
mod - src/Xw/Xw_Window.cxx Diff File
mod - src/Xw/Xw_Window.hxx Diff File