And a bit unifying it with trunk.
Likely one more bug in there... so another patch coming.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6149 dfc29bdd-3216-0410-991c-e03cc46cb475
Note: I could not merge 2 OSX project files as I'm not sure how to correctly resolve their conflicts.
Maybe old version for those files are still OK, as ogl-es branch got updated once before (leaving trunk behind).
In case it causes problems I hope someone can send another patch for those 2 files:
source/Irrlicht/Irrlicht.xcodeproj/xcshareddata/xcschemes
source/Irrlicht/Irrlicht.xcodeproj/project.pbxproj
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6140 dfc29bdd-3216-0410-991c-e03cc46cb475
Caught up with trunk again.
Not yet tested beside compiling (quick test failed, but seems like nothing from the new changes).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6117 dfc29bdd-3216-0410-991c-e03cc46cb475
The support for UINT shader constants added in this is just returning warnings in GLES drivers as this would need ES 3.0
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6115 dfc29bdd-3216-0410-991c-e03cc46cb475
GLES drivers adapted, but only did make compile-tests.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6038 dfc29bdd-3216-0410-991c-e03cc46cb475
It seems Debian10 dropped support for GLES1. So with my only test-platform gone, I'll disable it by default for all Linux platforms. It's still enabled in Android (for now). Thought in the long run no one should use GLES1 anymore anyway.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5893 dfc29bdd-3216-0410-991c-e03cc46cb475
Adapting both GLES drivers to new addHighLevelShaderMaterial interfaces.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5890 dfc29bdd-3216-0410-991c-e03cc46cb475
Also added some comments to gl-es drivers about missing polygon offset code.
The merges had some changes for that in the OpenGL driver, but both es drivers have no code at all about this.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5889 dfc29bdd-3216-0410-991c-e03cc46cb475
Note: EGL context manager continues to ignore calls trying to change the context.
So no multithreading support for that one so far.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5787 dfc29bdd-3216-0410-991c-e03cc46cb475
(was in wrong folder in last commit, so only source folder got checked in).
Also adapt ES1 and ES2 driver to remove texture from OGL texture cache
(that was fixed in GL driver in the parts that got merged).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5780 dfc29bdd-3216-0410-991c-e03cc46cb475
- Fix several problems with SMaterial serialization.
- SMaterial.ZWriteFineControl only using 1 bit now.
- Remove compile warnings.
- Switch Irrlicht to 8 textures per Material as default by increasing value of _IRR_MATERIAL_MAX_TEXTURES_.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5686 dfc29bdd-3216-0410-991c-e03cc46cb475
- Add global variable MATERIAL_MAX_TEXTURES_USED for texture limit
- COpenGLCoreFeature::TextureUnit renamed to COpenGLCoreFeature::MaxTextureUnits
Drivers for ES1, ES2 and WebGL also adapted.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5685 dfc29bdd-3216-0410-991c-e03cc46cb475
- OpenGL driver no longer changes active texture as often when it doesn't have to do anything with the texture.
- setMaterial no longer changes texture-matrices in GL and D3D9 when no texture-pointer is set.
- No longer overwrite memory when compiling with _IRR_MATERIAL_MAX_TEXTURES_ set to a value > 8
- Checking TextureMatrix pointer before de-allocating.
- Create pdb file also in release in vs2010 project file.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5684 dfc29bdd-3216-0410-991c-e03cc46cb475
- Allow to create images with floating point formats.
- No longer set world transform twice in CMeshSceneNode.
- Add IMaterialRenderer::getShaderConstantSetCallBack to allow access to user provided shader callbacks.
- Reset blend and alphatest states in GL and GLSL shader materials.
- Fix memory leak in OpenGL for automatic generated rendertarget depthbuffer textures.
- Remove .aps file from source control.
- Get rid of compile warnings in CAnimatedMeshHalfLife.cpp
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5683 dfc29bdd-3216-0410-991c-e03cc46cb475
This is mostly about cubemap changes. ES drivers compile, but not tested
if cubemaps work with them.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5664 dfc29bdd-3216-0410-991c-e03cc46cb475
Add some more debug output to opengl texture in debug when things go wrong.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5573 dfc29bdd-3216-0410-991c-e03cc46cb475
WEBGL_depth_texture doesn't use same symbols as OES_packed_depth_stencil & OES_depth32 and also does not allow attaching depth and stencil buffers to RTT like other GL versions.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5557 dfc29bdd-3216-0410-991c-e03cc46cb475
While names of WebGL extensions are 90% identical to ES2, at some point the WebGL committee seems to have decided
that it's better to give new names to the same stuff (RTT's with depth-buffer for example, but I'm sure they had a good reason?).
So we have to split this and now have mostly independent extension handlers. Still - WebGLDriver is lazy and derives from
ES2Driver and that derives from ES2ExtensionHandler... so unfortunately WebGL driver has now 2 extension handlers.
The way it's solved for now is that extension strings are handled by the webgl extension handler and everything else
stays for now with the ES2ExtensionHandler. Maybe we can split/merge stuff later in a better way, but I see no easy to implement improvement.
Could be we could pass extension handlers as template paramter to drivers maybe, but that's just an idea for now.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5556 dfc29bdd-3216-0410-991c-e03cc46cb475
Emscripten can't use eglChooseConfig so far (it won't return best context, but just any),
so we have to work with eglGetConfigs instead and figure out the best egl context.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5554 dfc29bdd-3216-0410-991c-e03cc46cb475
We can now use hardware antialiasing in emscripten.
Print some info about used SDL flags to log.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5551 dfc29bdd-3216-0410-991c-e03cc46cb475
(warnings are now produced instead of places calling those functions).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5540 dfc29bdd-3216-0410-991c-e03cc46cb475
Use emscripten headers now for es2 when compiling with emscripten (instead of our own extension headers).
Try enabling es2 extensions for emscripten (compiles, but not yet tested)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5527 dfc29bdd-3216-0410-991c-e03cc46cb475
Update ES extensions (first 290 now recognized)
Get examples 2 to compile in c::b (most other examples still need to fix linker settings)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5521 dfc29bdd-3216-0410-991c-e03cc46cb475
Remove eglext.h as it's not used anywhere in Irrlicht so far.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5520 dfc29bdd-3216-0410-991c-e03cc46cb475
Some keys (like AltGr) are still somewhat trouble.
This is basically a workaround because SDL_event.key.keysym.unicode is deprecated on emscripten and returns different results than SDL on other platforms.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5516 dfc29bdd-3216-0410-991c-e03cc46cb475
This should be the other way round - sdl resize event gets triggered when emscripten_set_canvas_size is called.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5510 dfc29bdd-3216-0410-991c-e03cc46cb475
Noticed some driver bugs in emscripten when using ECF_D16 which were not identical and
it seems that since ES 2.0 those values have to match. Specification is slightly fuzzy
on the term (says "match", not "identical" or "equal"), but found no other interpretation online.
If I understand it correctly this also means in ES 2 we have no guarantee which format is really used internally.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5493 dfc29bdd-3216-0410-991c-e03cc46cb475
It's never used. Also if I guess the intended use for it correctly (figuring out internFormat to use for depth-buffer textures)
then there will be a problem with that implementation as it only works for OpenGL that way (maybe also ES1.0, not sure there, but for ES2.0 it looks wrong).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5491 dfc29bdd-3216-0410-991c-e03cc46cb475
This prevents color blending with background when we only want alpha blending (when EBO_ADD is set in materials).
It's something that was changed a few years ago in the OpenGL driver, but never made it into the ES drivers.
Note that transparency in ES1 _is_ currently broken - but it was broken before this patch already (so another bug to hunt).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5473 dfc29bdd-3216-0410-991c-e03cc46cb475