Commit Graph

346 Commits

Author SHA1 Message Date
Benau
e1a563612f Avoid calling gamma correction on non-srgb png 2017-03-17 10:15:06 +08:00
Benau
27fcc4e266 Allow custom memory management in IImage 2017-03-12 09:09:40 +08:00
Benau
ab673fc03b Merge remote-tracking branch 'origin/master' into threaded_tex_loader 2017-03-11 13:55:18 +08:00
Benau
6e80271ad9 Max texture size 2k and allow them to be threaded load 2017-03-11 09:41:46 +08:00
Deve
adfa8f30f9 Better fix for missing transparency in GLES legacy pipeline 2017-03-08 23:17:03 +01:00
Benau
d864995c7d First version of ThreadedTexLoader 2017-03-08 15:54:59 +08:00
Deve
fcae7dfc33 Fixed compiler warnings 2017-03-06 17:22:44 +01:00
Deve
11024569b0 More tweaks to GLES legacy pipeline 2017-03-02 22:19:10 +01:00
Deve
067518df5d Fixed rtts in GLES legacy pipeline 2017-03-01 23:20:21 +01:00
Deve
282bb6c655 Always use fixed blending for GLES legacy pipeline 2017-03-01 21:44:11 +01:00
Deve
40fe3585bb One more fix for legacy pipeline in GLES renderer.
It looks that the second texture is not used at all and it may cause a crash, so just disable it.
2017-02-27 00:58:43 +01:00
Deve
6d395d4510 Some fixes for GLES renderer 2017-02-27 00:58:43 +01:00
Deve
803eba5d5c Fixed typo 2017-01-27 22:44:22 +01:00
Deve
5931ba288a Don't crash if irrlicht shaders are not available for GLES.
They are needed only for legacy pipeline.
2017-01-12 21:43:11 +01:00
Benau
8acd2d689a Merge branch 'new_texture_format' 2017-01-10 09:09:38 +08:00
Benau
08876e30ab Remove unused builtin font 2017-01-09 15:50:26 +08:00
Benau
c4b4ea006e We don't need to add a new glyph page for billboard text anymore 2017-01-09 13:16:40 +08:00
Benau
46be4948b2 AZDO for new texture format 2017-01-09 13:03:50 +08:00
Daniel Ölschlegel
be2e86166f Update CIrrDeviceLinux.cpp (#2731)
Fix compile error under NetBSD
2017-01-08 20:44:04 -05:00
Benau
827a483e85 Allow legacy pipeline to use new texture format 2017-01-06 15:04:15 +08:00
Benau
0129c539b9 Fix #2543
Also disable warning when switching cases for context detection
2017-01-03 13:53:44 +08:00
Benau
2dbf4675a5 First version of new texture format
Todo: IBL, texture compression, GLES, premul alpha ....
2017-01-02 16:14:59 +08:00
Benau
ffe4dd88b4 Apply mask directly on texture
Avoiding the ref counting issues
2016-12-28 15:32:27 +08:00
Benau
6a142e8d2e Allow animated models in track to have different animation 2016-12-24 13:11:08 +08:00
Deve
6486d1548b Fixed clang compilation 2016-12-24 02:07:53 +01:00
Tobias Markus
6fb93fa208 Fix compilation on macOS 10.12 (#2701) 2016-12-22 19:17:31 -05:00
Benau
85bd8c3146 Add unlit and normal map skinned mesh shader
Also fix normal map with skinned mesh, now vertices and joints
will be recalculated for tangents mesh
2016-12-14 16:28:37 +08:00
Benau
c8e5238ce2 Merge remote-tracking branch 'origin/master' into hardware_skinning 2016-12-12 13:45:04 +08:00
Daniel Ölschlegel
62e1a2ddcc Add a little more BSD detection (#2685)
Tested for NetBSD, the same signature has DragonFly(http://fxr.watson.org/fxr/source/sys/endian.h?v=DFBSD#L42)
2016-12-11 19:16:47 -05:00
Benau
e9b68a8a1f Use a non-hardcoded values for mat4 array (max 1024)
Also cull mesh that doesn't have enough space to be rendered
2016-12-11 15:50:53 +08:00
Benau
f6490b6fa6 Allow array to capture lambada
Also use a correct sorting function, will be useful later if
we only need the more influetial bones.
2016-12-11 13:21:17 +08:00
Benau
ceef7495d2 Enable culling for animated mesh
Use the first frame bounding box for it, don't update each frame
2016-12-11 11:01:02 +08:00
Benau
fcd1e2830e Use callback function to directly upload joints without copying 2016-12-10 16:16:40 +08:00
Benau
8ca0c54bdc Merge remote-tracking branch 'origin/master' into hardware_skinning 2016-12-10 10:09:30 +08:00
Benau
b7e047b4c1 Avoid using else if in skinning vertex shader 2016-12-09 14:16:30 +08:00
Benau
21d9117b2d Fix matrix4 pointer in windows
Also allow minimum azdo rendering and avoid skinning empty joints
2016-12-08 16:12:54 +08:00
hiker
dbfaf2105b Merge remote-tracking branch 'origin/master' into nw 2016-12-08 13:36:36 +11:00
Benau
d21e5e0f76 Make skinning offset changeable by culling 2016-12-07 16:08:57 +08:00
Benau
ac8d7aa8c7 Try to fix the build 2016-12-07 08:18:19 +08:00
Benau
a3905a1e19 Allow tangent mesh to be converted 2016-12-07 08:07:01 +08:00
Deve
66f57ada61 Fixed a crash when GLES device is re-created 2016-12-07 00:08:16 +01:00
Deve
5fad8a135e Destroy egl context on exit 2016-12-06 23:32:04 +01:00
Benau
57d9e83ed4 First version of hardware skinning
Todo: shadow, non-instanced shaders, culling, changeable offset...
2016-12-07 02:15:11 +08:00
hiker
1939075a1b Merge remote-tracking branch 'origin/master' into nw 2016-12-06 18:45:17 +11:00
hiker
746bac00ce Merge remote-tracking branch 'origin/new-pi' into nw 2016-12-06 09:26:07 +11:00
Deve
23883b83c1 Fixed a crash on startup.
As written in the documentation: "The returned modifiers string is owned by Xlib and should not be modified or freed by the client."
2016-12-04 23:23:09 +01:00
deve
716c19325f Update common irrlicht files with modifications from Android branch.
- Added a function in GLES driver, which allows to re-create EGL surface when it's lost after resume event
- Some additional events/keycodes
- Fixed compilation with missing sys/sysctl.h header
2016-11-28 01:56:52 +01:00
Benau
de95db5c93 Avoid creating new glyph page too many times 2016-11-20 10:08:59 +08:00
Benau
9734c2e890 Fix crash in billboard text when using legacy opengl
Notice: freetype glyph metrics are not supported
2016-11-19 15:59:58 +08:00
Benau
a52c4699a1 Add back normal map renderer for legacy opengl
Fixed transparent issue
2016-11-19 14:21:56 +08:00
hiker
ae36208e29 Merge remote-tracking branch 'origin/master' into new-pi 2016-11-15 12:38:21 +11:00
Benau
e6e302af1c Fix copy and paste of unicode characters 2016-11-13 15:43:00 +08:00
Benau
5879933a23 Merge remote-tracking branch 'origin/master' into fix_2112 2016-11-13 10:42:47 +08:00
hiker
61a3d10e10 More Compile SERVER_ONLY, still not fully working. 2016-11-12 00:09:39 +11:00
Deve
452c7c1e40 Fixed compiler warning 2016-11-11 13:44:51 +01:00
hiker
8d9bb9c30f Cherry picked commits from old pi branch (which was based on dumb client). 2016-11-11 17:21:59 +11:00
Benau
8a0d911d10 Allow using input method (for CJK) in linux 2016-11-09 12:28:23 +08:00
Benau
956aa83a0a Remove unused function 2016-10-27 10:15:41 +08:00
Benau
76f32b4a41 Fix an unfree Atom 2016-10-12 09:52:34 +08:00
Deve
5c4b61a26e Fixed numpad keys on linux.
We need to check numlock mask, because it may be different on different systems, and possibly also modified manually.

It should generally work fine, but some testing are welcome.
2016-10-06 20:31:10 +02:00
Deve
7f4d815dde Request GLES 3.0 context and fallback to 2.0 if not available. 2016-08-22 20:05:36 +02:00
Deve
26d2bf847c Allow to use non-hd textures in OpenGL ES renderer 2016-08-13 00:01:08 +02:00
Deve
b23f39f1cd Fixed non-hd textures in legacy pipeline 2016-08-12 23:51:29 +02:00
Deve
1481da9718 Fixed button icons with non-hd textures and low MAX_TEXTURE_SIZE parameter 2016-08-12 20:51:19 +02:00
Deve
886382bb54 Merge remote-tracking branch 'origin/master' into gles 2016-07-11 23:43:10 +02:00
Deve
b25a4e874f Remove android related code. It will be handled in different branch. 2016-07-11 22:54:59 +02:00
Deve
f2d21d2353 Remove GLESv1 renderer because it's not used 2016-07-09 02:59:40 +02:00
Deve
17a0e4fbd8 Fixed an issue with grass shader.
It looks that EMT_TRANSPARENT_ALPHA_CHANNEL_REF wasn't handled at all in irrlicht OpenGL renderer.
2016-07-09 02:50:40 +02:00
Deve
66e76be76d Don't use hardcoded path for irrlicht shaders 2016-07-06 06:37:22 +02:00
deve
93dde11562 Use proper depth texture 2016-07-05 11:48:43 +02:00
Deve
4132177132 Fully integrate gles renderer with our irrlicht version. 2016-07-05 00:25:03 +02:00
Ezequiel Garcia
02361a37e8 Minor fixes for issues found while cross-building v2 (#2556)
* irrlicht: Fix harmless typo when setting CMAKE_CXX_FLAGS

The CMAKE_CXX_FLAGS set should be based on previously set
CMAKE_CXX_FLAGS (instead of C flags). This is currently
harmless because CMAKE_CXX_FLAGS is not previously set.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

* irrlicht: Get rid of unprefixed cflags

Cross-building requires proper include paths. This commit
removes the unprefixed -I/usr/X11R6/include in irrlicht cflags,
replacing it with a proper CMake module.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

* irrlicht: Fix boolean return type for jpeglib's callback

Building on certain toolchains can fail due to returning an integer
instead of TRUE. In any case, only {TRUE,FALSE} should be used
as 'boolean' jpeglib type. Fix this by returning TRUE.

  CImageLoaderJPG.cpp: In static member function 'static boolean
  irr::video::CImageLoaderJPG::fill_input_buffer(j_decompress_ptr)':
  CImageLoaderJPG.cpp:69:9: error: invalid conversion from 'int' to 'boolean'
  [-fpermissive]

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
2016-07-03 21:07:53 -04:00
Deve
d13716a917 Initial linux version.
Currently works only with irrlicht-based renderer because shaders are not ported yet.
2016-06-24 02:47:13 +02:00
Lucas Baudin
b8ef827510 [irrlicht/android] don't poll events or it creates a race lock when polling accelerometer events elsewhere 2016-02-27 00:23:08 +01:00
Lucas Baudin
e9657beaa6 [android] detect size 2016-02-26 18:01:51 +01:00
Lucas Baudin
f484e7ef6b [android] More debug print for the android irrlicht device 2016-02-25 23:13:33 +01:00
Lucas Baudin
f91426d748 [android] Use CIrrDeviceAndroid before the console device… 2016-02-25 20:38:50 +01:00
Lucas Baudin
e39efc128c [android] backport the Irrlicht.cpp createDevice changes, fix the compile error, and use OGLES2 on android 2016-02-25 20:15:24 +01:00
Lucas Baudin
02808cdfd0 GLES2 for android devices by default 2016-02-25 12:06:54 +01:00
Lucas Baudin
d4d3817d63 Disable sound and curl, add freetype 2016-02-24 22:24:33 +01:00
Lucas Baudin
48069a7bcc More backport from the ogl-es irrlicht branch 2016-02-24 20:34:46 +01:00
Lucas Baudin
a470cd74d6 add android port from irrlicht (based on commit 875d0cfac88c26994b82d68737b085ec1b84c5f8) 2016-02-24 12:34:08 +01:00
David Carlier
2841c0e165 better alternative OSes handling + tiny C++ fix 2015-12-19 07:05:45 +00:00
Benau
9d1c9fac5a Merge remote-tracking branch 'origin/master' into i18n 2015-12-14 03:00:07 +08:00
Deve
6d757326d2 Make sure that we start game with disabled GL_FRAMEBUFFER_SRGB 2015-12-11 19:18:14 +01:00
Deve
b91bcaf554 Disabl sRGB framebuffer on irrlicht side to avoid modifying current user interface colors 2015-12-11 19:18:14 +01:00
Deve
0216fd9697 Request sRGB-capable visual during creating OpenGL context.
We need it for proper working. When it's not available, then function glEnable(GL_FRAMEBUFFER_SRGB) doesn't take any effect, and then displayed image is too dark.

It doesn't solve the issue that the screen is too dark for intel graphics cards on linux, because the driver ignores this request. But still, this is the proper way to do it and it may avoid similar issues in future.

Actually we should detect that the visual is not srgb-capable, and in this case maybe make some gamma correction or filter it on our side to get similar effect.
2015-12-11 19:18:14 +01:00
Benau
93b1b11b99 Merge remote-tracking branch 'origin/master' into i18n 2015-12-11 09:27:15 +08:00
Nado
d66a70b250 Fixing some -Wunused-variable 2015-11-17 11:42:28 +01:00
Deve
8572c5ef3b Open window in fullscreen mode when it was set by user 2015-10-29 00:16:00 +01:00
Deve
e61d3bc0ac Fixed a crash on startup 2015-10-28 23:40:57 +01:00
Deve
c81243fc1a Merge branch 'master' into wayland 2015-10-28 22:43:02 +01:00
Benau
2096532d0e Make stk more-i18n friendly
Now supertuxkart can do:

Windows (fully test in win8 and win7 built with vs2015, mingw not tested):
Input characters using ime (CJK tested).
Fix crashes when try to paste unicode text into editbox in stk.

Linux:
Different keymap can be used in stk now, ie typing russian,hebrew (not bidi-aware) is now possible.
IME not supported.

Mac:
No work has been done, sorry mac fanboys/girls:( Though testing is welcome, esp when pasting words into stk.

Limitation:
No ime box is shown in fullscreen

(Windows)Only the used language in current setting of non-Unicode programs can be typed with its supported IME.
2015-10-27 02:34:46 +08:00
Deve
e15cd49cae Make changing to fullscreen on linux safer.
Now we are waiting until window state is already changed to fullscreen. We are getting real window size at the end of creating window function and previously it was sometimes reporting size of the window in windowed mode, which could causing issues in gui. Previously this was workarounded by forcing minimal window size to be at least in screen resolution, but window managers don't like to have non-resizeable fullscreen windows. Now this workaround is not needed anymore.
2015-10-03 16:43:22 +02:00
Deve
35fa7fd272 Fixed a strange bug during changing window to fullscreen under Gnome 2015-09-26 20:32:55 +02:00
Marianne Gagnon
e2da2a36a1 Fix line endings 2015-09-01 19:39:30 -04:00
Benau
0a7a0d7c98 Fix the ugly hack for displaying Chinese in #2110, and then fix #2297 2015-08-30 02:35:17 +08:00
Deve
78cd8efdd4 Reset screensaver counter on linux when joystick event was received 2015-08-09 18:54:59 +02:00
Marianne Gagnon
3687eb79d6 Apply modified version of patch from Benau to fix chinese word wrapping. See #2110 2015-07-29 18:51:03 -04:00
Flakebi
d2ca7d11d7 Remove unused/commented out code 2015-07-03 15:36:45 +02:00