Commit Graph

3688 Commits

Author SHA1 Message Date
Benau
f0c03b317e Use std::make_tuple instead of list initialization 2018-01-29 00:08:28 +08:00
Benau
9737c2f950 Further clean up framebuffer
Avoid using hdr framebuffer in displace and glow

Also remove stencil test in mlaa (in the pass no stencil buffer
exists in FBO_MLAA* anyway)
2018-01-28 15:10:17 +08:00
Benau
ccc83a28f2 Clean up rtts and framebuffers
Use rgba framebuffer for tonemap and later, don't create
unnecessary rtts.
2018-01-28 14:07:03 +08:00
Ben Krajancic
f6f051e85b Consistent split screen (#3105)
* Splitscreen positions are now consistent across rounds

* Fix tabs

* Remove unnecessary comments
2018-01-27 19:27:17 -05:00
Sam
f5a0e6477e put the correct convention 2018-01-26 11:10:16 +01:00
Sam
e75f1cb799 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-26 10:52:23 +01:00
Sam
a1c9ad107f Add the possibility to disable an object for shadow pass 2018-01-26 10:51:42 +01:00
Benau
a10b62b894 Use SPTextureManager to get displace.png
This will allow using texture compression for it
2018-01-26 16:02:51 +08:00
Benau
97fd634ed8 Allow auto-add usable uniforms to shader 2018-01-26 16:02:31 +08:00
Benau
9e2d649b55 Warn for failed shader compile or link in GUI when artist debug mode 2018-01-26 16:02:00 +08:00
Deve
74af810d50 Fixed compilation error.
It was failing with "'this' was not captured for this lambda function"
2018-01-25 21:43:19 +01:00
Benau
9041649a39 Don't check for reference counting in shader mananger
It will not be 1 if there are fallback shaders
2018-01-25 15:51:28 +08:00
Benau
297c66bf04 Remove unused cpp and hpp files 2018-01-25 15:41:30 +08:00
Benau
2448b10cd4 Fix correct spelling of deferred 2018-01-25 15:38:10 +08:00
Benau
ff38cb6423 Clean up advanced pipeline off code
Don't use RTT at all in game when it's off
2018-01-25 15:36:34 +08:00
Benau
5b4be274fb Some more fallback for legacy pipeline 2018-01-25 01:51:10 +08:00
Benau
d8511956f5 Only warn for possible undeleted opengl stuff when debug build
Happens when you press close button in stk window.
2018-01-23 16:18:48 +08:00
Benau
9ecf952057 Don't add instance data if missing shadow shader 2018-01-23 14:27:15 +08:00
Benau
40552b3fa0 Preload all visible spm (not including physics node) properly
Also change reset-button.spm to swatter_anim.spm, reset button
was replaced by thunderbird long time ago
2018-01-23 13:32:30 +08:00
Benau
95c12faa10 Use map for sorted name texture (easier for debug) 2018-01-23 11:55:54 +08:00
auria.mg
8c609c87d9 Fix compilation 2018-01-22 21:17:51 -05:00
Benau
dea6dc1f3f Try to fix OSX build by using type index which is copy constructible 2018-01-23 09:53:23 +08:00
Benau
86393ba0a9 Use alphatest as a fallback shader for unlit
Adjust graph shader when advanced pipeline off, and no srgb prefilled
texture when advanced pipeline off
2018-01-22 13:27:21 +08:00
Benau
8fa5ad46c9 Use the original spm uv texture 1 and 2 for compare in scene manager
Because for splatting it will have some duplicated entries

Also remove never-working material code for splatting because of SP
2018-01-22 13:05:02 +08:00
Benau
45957af6f8 Remove !sRGB in shader which is always true now
Also don't use tonemap in RTT
2018-01-22 12:54:39 +08:00
Benau
0ed74ac3e9 Add the ability to auto discard unused texture layer based on the compiled shader 2018-01-22 09:55:17 +08:00
Benau
9aae773e91 Use absolute path when caching 2018-01-22 01:09:58 +08:00
Benau
c85425c473 Only try to clean stuff if kart model is unique 2018-01-22 00:13:27 +08:00
Benau
a39977d550 Use shared_ptr SPShader in mesh buffer 2018-01-21 15:35:38 +08:00
Benau
390554eca1 Add xml shader and the loader 2018-01-21 13:19:00 +08:00
Benau
b199b81427 Add the code required for reloading sp shader on the fly 2018-01-19 20:47:30 +08:00
Benau
0f95d36dbc Add proper sharing and deletion of shader files 2018-01-19 14:41:33 +08:00
Benau
5b440ae04b Don't abuse the use of std::shared_ptr for moving texture 2018-01-18 13:49:35 +08:00
Benau
8a5994b9e3 Don't crash if missing texture image 2018-01-18 12:45:04 +08:00
Benau
0d74b1739b Allow mesh textures to be reloaded 2018-01-18 12:35:41 +08:00
Deve
458ffd4617 Allow to force pot textures in graphical restrictions 2018-01-16 22:50:18 +01:00
Benau
c3d0db9856 Use normalized short for animated texture update
It should allow to have the maximum possible smooth animation

texture_trans_x,y is fmoded so it's guaranteed to be -1.0 to 1.0
2018-01-17 01:05:47 +08:00
Benau
7aaac81d0a Disable backface culling for transparent material for legacy pipeline 2018-01-16 14:29:45 +08:00
Benau
a37b60ac6e Only add RenderInfo if the material has a list of random color 2018-01-15 15:43:50 +08:00
Benau
cbd7b3fd84 Add some fallback for legacy pipeline for SP 2018-01-15 13:46:37 +08:00
Benau
a3a00f70f8 Remove unused entries in materials and fog settings 2018-01-15 13:23:21 +08:00
Benau
681ef66d8d Rename _nm to _Normal for normal map textures 2018-01-15 12:37:57 +08:00
Benau
9c2f91c11b Don't crash for wip-tracks / karts (wrong shader name or incomplete terrain) 2018-01-15 11:07:58 +08:00
Deve
8698705468 Fixed android compilation 2018-01-14 00:14:31 +01:00
Benau
d0fb0500eb Update to opengl 3.3 for SP 2018-01-14 01:28:30 +08:00
Benau
59045cd064 Merge remote-tracking branch 'origin/master' 2018-01-13 15:44:57 +08:00
Benau
4194977df5 Fix shadow visualization 2018-01-13 15:38:52 +08:00
Benau
9e90bd251d Use hardware skinning GR in sp_mesh_node 2018-01-13 15:16:16 +08:00
Benau
24308ced03 Remove features in SP that give no performance boost at all
gl_Layer in vertex shader, bindless and array textures
2018-01-13 14:49:33 +08:00
Deve
2f7d7b677d Don't fail to start if glx display in glew is not available.
It should be safe, because we check if display is available in irrlicht device anyway.
2018-01-13 00:06:37 +01:00
Benau
bb0cf72635 Add required code and color selector for rainbow karts 2018-01-13 00:38:46 +08:00
Benau
68e8da2353 Remove all unused shaders 2018-01-12 19:10:55 +08:00
Benau
e5fff9e65a Reallocate the vertices vector for dynamic draw call when resize 2018-01-12 17:18:49 +08:00
Benau
feb1667acc Precompute srgb to linear values to array 2018-01-12 13:58:49 +08:00
Benau
6071d2f983 Remove all unused / unstable opengl-related code 2018-01-12 13:04:40 +08:00
Benau
9ccb34c2a1 Adjust graphics presets for SP 2018-01-12 12:03:31 +08:00
Benau
7f3722d90b Make supports SP checking global 2018-01-12 01:28:13 +08:00
Benau
4252895d8b Remove old unused glsl code 2018-01-12 01:18:07 +08:00
Benau
49568f3fd9 Auto fallback to legacy pipeline if not supports all functions required by SP 2018-01-11 15:55:53 +08:00
Benau
26a481e478 Allow using system libsquish 2018-01-11 14:40:33 +08:00
Benau
7859a00967 Remove unused mesh code 2018-01-11 13:38:08 +08:00
Benau
68ceceb6e3 Remove unused texture code 2018-01-11 12:47:02 +08:00
Benau
3374ec66e3 Better memory management for vertex buffers 2018-01-11 11:30:55 +08:00
Benau
4823c46ad9 Preload the container id of materials 2018-01-10 13:10:12 +08:00
Benau
f4fb2cb41c Fix no graphics and server only run 2018-01-10 11:35:02 +08:00
Benau
54c7914cb5 Update graphical restrictions
Mesa 17.4 will use the correct normalization forumla

Disable GLSL on intel HD2000 / HD3000 due to broken opengl 3.3 support
2018-01-08 15:55:28 +08:00
Benau
57fad498f8 Fix traffic light when changing resolution 2018-01-08 14:31:47 +08:00
Benau
1604ca1daa Use 2018 header for SP 2018-01-08 09:31:15 +08:00
Benau
aa9dce1672 Add texture compression cache 2018-01-08 09:28:11 +08:00
auria.mg
e3f3f7d291 Fix compilation on travis 2018-01-07 19:33:05 -05:00
auria.mg
246d010895 Fix compilation 2018-01-07 18:31:37 -05:00
Benau
262337bc13 Fix some leaking when switching resolution 2018-01-07 14:58:32 +08:00
Benau
157faaf616 Fix tracks with no skybox 2018-01-06 15:35:35 +08:00
Benau
0633099662 Add a quick fallback tangent computation 2018-01-06 12:47:22 +08:00
Benau
5293a0dbef Add b3d loader for SP 2018-01-06 12:07:22 +08:00
Benau
a06d9e858b Add some fallback 2018-01-05 23:46:23 +08:00
Benau
294f0d79d1 Port feature unlocked to use SP 2018-01-05 01:06:58 +08:00
Benau
60b173559a Disable cull face after drawing mesh (for gui) 2018-01-04 14:39:32 +08:00
Benau
2eabf87ffe Remove stk_mesh* 2018-01-03 14:40:34 +08:00
Benau
345f2bc64b Port god ray to use SP 2018-01-03 14:29:20 +08:00
Benau
1400257a60 Port debug sphere to SP 2018-01-03 13:29:19 +08:00
Benau
df6fbc455b Port show curve to SP 2018-01-03 12:46:35 +08:00
Benau
3a24d0ed1f Port slipstream to SP 2018-01-02 12:19:36 +08:00
Benau
17c337284e Make SPMeshBuffer uniform-assignable (for slipstream) 2018-01-01 14:24:11 +08:00
Benau
1400542194 Make dynamic draw call update independent of culling result 2018-01-01 11:00:45 +08:00
Benau
9f8475bda1 Fix fading 2017-12-31 12:57:28 +08:00
Benau
2bde6d1325 Use shared_ptr for dynamic draw call 2017-12-31 12:15:55 +08:00
Benau
c8aea0bf9e Add bounding boxes visualization for SP 2017-12-31 10:34:55 +08:00
Benau
cce8abe6f3 Port billboard text 2017-12-30 15:28:04 +08:00
Benau
ec59e3f573 Don't delete vao each frame when update vertex buffer 2017-12-29 23:42:45 +08:00
Benau
63267391ef BufferData with new size vector 2017-12-29 23:26:50 +08:00
Benau
8a93b07c5e Don't clean the current skidmarking 2017-12-29 23:26:29 +08:00
Benau
4ad7934a85 Clean sp framebuffer individually 2017-12-29 14:50:15 +08:00
Benau
1e0b611c7d Draw kart shadow with dynamic draw call 2017-12-29 01:36:36 +08:00
Benau
590850eacf Add dynamic draw call for skidmarks 2017-12-28 16:14:09 +08:00
Benau
52b19dd83a Use glVertexAttrib only in debug view 2017-12-27 13:50:17 +08:00
Benau
62e0effed6 Rename input variables 2017-12-27 12:31:21 +08:00
Benau
dbc3cd5ff5 Normalize in shader for broken drivers 2017-12-27 11:33:30 +08:00
Benau
891b053358 Add more functions to normal visualizer 2017-12-27 01:33:21 +08:00
Benau
ce45605c18 Use half float for texture matrix 2017-12-26 15:28:01 +08:00
Benau
daf1294e6f Add minimap and adjust unlit shader for it 2017-12-26 14:34:34 +08:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
Benau
dc562103c5 Remove wrong commit 2017-12-10 00:12:35 +08:00
Benau
f70af4677c Add direct conversion to map for xml nodes 2017-12-09 16:06:43 +08:00
Benau
3607c7d520 Adjust irrlicht CSkinnedMesh class for .spm
The last frame in .spm is usable
2017-12-02 15:24:05 +08:00
Benau
51a16b938f Read only 4 bytes for tangent (unused atm), remember update stk-assets 2017-11-09 12:16:30 +08:00
Benau
fa6959251a Fix #2949
Use clamp to edge sampler
2017-11-03 20:28:15 +08:00
Benau
d9d3afc36e Fix wrong normal, vertex 2 color and memory leak of texture quad
Fix #2979
2017-10-29 16:19:14 +08:00
Benau
fc2e05c0a6 Use a trick to make skinned mesh shader branchless 2017-10-22 13:03:45 +08:00
Benau
7252a38da1 Fix skinning glitches possible in (some) cards 2017-10-22 02:17:37 +08:00
Benau
aa080db501 Fix resolution change crash
UpdateFlips stop working if we don't m_flips_data.clear();
2017-10-22 01:52:37 +08:00
Benau
a0991c3233 Don't use unsync map buffer
It causes regression in hd5670 in windows

Although we should update ubo only once per frame
2017-10-22 01:51:45 +08:00
Benau
6a79d204c1 Don't use SSBO for skinning
It causes trouble in hd5670 in windows
2017-10-22 01:31:15 +08:00
Deve
cf26337bd4 Fixed particles in multiplayer mode 2017-10-21 08:18:28 +02:00
Benau
e61eb3415a Remove hardcoded max 1024 bones for skinning 2017-10-20 17:10:08 +08:00
Benau
1b70144c80 Reserve a graphics restriction for hardware skinning 2017-10-20 14:00:38 +08:00
Benau
ebdde49984 Merge remote-tracking branch 'origin/master' into tbo_skinning 2017-10-20 08:36:54 +08:00
Deve
5216f8e917 Fixed jump explosion on android 2017-10-19 21:44:50 +02:00
Benau
553b2439ac Allow using SSBO for skinning if supported 2017-10-20 01:27:44 +08:00
Benau
0d96906d54 Use texture buffer (texture2d in gles) for skinning 2017-10-19 13:31:07 +08:00
Deve
1a9cf6a46f Set max texture size to 256 for Raspberry Pi 2017-10-18 21:13:23 +02:00
Deve
9ec06f122c Allow to filter graphical restrictions by vendor 2017-10-18 20:51:26 +02:00
Deve
c3e772e863 Add different explosion effect for Android.
It gives much better performance while it still looks similar.
2017-10-17 23:34:19 +02:00
Benau
fa48d099f2 Fix the remaining msvc warnings 2017-10-17 10:51:52 +08:00
Benau
88e15147b8 Merge remote-tracking branch 'origin/win-64bit' 2017-10-17 00:55:22 +08:00
Benau
e47aa5d567 Take relative path issue into account when unloading texture
Now except global particle textures all textures loaded by track can be
clean properly
2017-10-16 16:09:07 +08:00
Benau
c8d13d7360 Preload the particle textures when first load
This prevent hangs when lazy loading texture runtime
2017-10-16 14:22:09 +08:00
Benau
7e0d706946 Don't call setLastTriggeredCheckline for check cannon
It will override the track check line
2017-10-16 13:47:21 +08:00
Benau
c7dbe715fc Remove duplicated and unused code 2017-10-16 00:48:08 +08:00
Benau
4573e51e98 Fix #2427 2017-10-15 19:14:07 +08:00
Benau
a7debc286a Check flips using unordered_set 2017-10-15 15:05:49 +08:00
Benau
058f9163db Some work to make particle shader able to render billboard
The lifetime in height map stimulation will always now < 1.0f
2017-10-15 13:57:01 +08:00
Benau
f646a26fbe Clean up particle .xml
Remove unsupported entries, notice that particles now are auto-
faded out by lifetime

Also remove flips that are not visible at all
2017-10-15 12:47:21 +08:00
Benau
998b11ed51 Add an option to disable pre-generation for explosion particles
Also remove some unused code
2017-10-15 11:32:58 +08:00
Benau
b1f4ced6f0 Fix bounding boxes in legacy pipeline 2017-10-15 00:18:11 +08:00
Benau
85adab6e1e Allow to use new STKParticle with legacy pipeline
Due to cull face issue the kart exhaust is still not visible
2017-10-14 15:42:10 +08:00
Benau
088d09cb64 Don't hardcode first vbo size 2017-10-14 14:42:54 +08:00
Benau
c3a22ddcf7 Pre-generate some particles if max count is small 2017-10-14 14:42:24 +08:00
Benau
a0c9ba2b8c Pack mixed color into instanced array
With half-floats for lifetime and size for same stride
2017-10-14 12:33:08 +08:00
Benau
e49a7139d7 Split MiniGLM for more usage (instancing, cpu particle, network...) 2017-10-14 11:00:51 +08:00
Benau
0b9a3e1c69 Fix some issues found in first-try 2017-10-14 09:47:13 +08:00
Benau
0066722dab Features completed cpu particle 2017-10-14 00:19:59 +08:00
Deve
928ae4e44d Try to fix server-only compilation 2017-10-11 21:50:44 +02:00
Deve
c1e17f0593 Add a fallback for intel on linux.
When workaround with alpha_channel=true failed, then fallback to the path with disabled srgb framebuffer.
2017-10-11 21:39:13 +02:00
Benau
839142b752 Add up-to-date restriction for hd3000 in windows 2017-10-11 11:25:28 +08:00
Deve
ae4e302741 Add a way to run STK without srgb framebuffer 2017-10-09 21:18:15 +02:00
Benau
4f1becb20d Add a better rescue animation
Also fix #2501
2017-10-06 23:42:23 +08:00
Deve
27a79526b1 Allow to use particles heightmap simulation in GLES 2017-10-02 23:05:12 +02:00
Deve
843ebad9a1 Don't use GL_FRAMEBUFFER_SRGB in GLES 2017-10-01 22:25:37 +02:00
Deve
e2c0f83fb0 Move patform specific code from irr_driver to irrlicht devices 2017-09-27 17:37:56 +02:00