Commit Graph

17186 Commits

Author SHA1 Message Date
Benau
2f07b6a8ea Merge pull request #2694 from leyyin/hardware_skinning
Separate the non-cached shader loading in ShaderFilesManager
2016-12-18 19:49:35 +08:00
Daniel Butum
d0229cd85e Separate the non-cached shader loading in ShaderFilesManager 2016-12-18 13:40:36 +02:00
Benau
4f2e2331ee Correct the spelling of shader files 2016-12-18 14:59:37 +08:00
Benau
4477dbb0fb Preload shaders that delay kart selection screen the most
Plus some suggestion from #1787
2016-12-18 14:51:27 +08:00
Benau
7ea4f30824 Make sure no duplicated shader is added somewhere else 2016-12-18 13:49:58 +08:00
Benau
2a9656bfdc Allow all shader files to be loaded only once
Todo: preload
2016-12-18 10:51:05 +08:00
Benau
7894e5c864 Try to use a smarter approach 2016-12-18 09:27:50 +08:00
Benau
90a556fe9c Try to share shaders across different programs
Todo: non-instanced version
2016-12-17 15:59:40 +08:00
Benau
79e5aadd4d Avoid using software skinning on empty joint objects 2016-12-16 10:04:35 +08:00
Benau
752d847b09 Add the remaining shaders for GL3 hardware skinning
Also use the same shader code for normal map shader
2016-12-15 15:55:14 +08:00
Benau
3d814d1036 Fix wrong case handling 2016-12-15 13:30:26 +08:00
Benau
035271d6ec Remove GL error about draw2DLine
Use GL32_draw2DRectangle, only works if it's a straight line.
2016-12-15 12:57:39 +08:00
Benau
2e2345289c Don't upload / bind skinning ubo if not supported 2016-12-15 12:17:39 +08:00
Benau
1f23e6e783 Remove code used to duplicate VAOs for animated meshes 2016-12-15 11:44:09 +08:00
Benau
6baed2b0dd Merge remote-tracking branch 'origin/master' into hardware_skinning 2016-12-15 10:01:12 +08:00
Benau
a696fd6dff Add transparent skinned mesh shader 2016-12-15 09:52:02 +08: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
hiker
4ee6f6315f Made World::m_weather a singleton to further remove dependencies on World. 2016-12-13 17:14:29 +11:00
hiker
32f2196201 Removed unnecessary #include world.hpp. 2016-12-13 17:13:54 +11:00
hiker
ed7574ca85 Merge remote-tracking branch 'origin/master' into simplify-world 2016-12-13 09:19:24 +11:00
hiker
4d406490e1 Made ScriptingEngine a singleton and removed it from World, which reduces
more dependencies on world.
2016-12-13 09:18:59 +11:00
hiker
b12453e9ca Made Physics a singleton, removing the accessor functions from World.
Removes dependency on World for a few files.
2016-12-13 08:31:08 +11:00
hiker
cd149ab5d7 Moved m_track out of World into a static m_track in Track. Makes
world smaller and removes a few dependencies on World.
2016-12-13 07:53:33 +11:00
Benau
abe4ae2d6a Fix server only stk 2016-12-12 13:54:43 +08:00
Benau
c8e5238ce2 Merge remote-tracking branch 'origin/master' into hardware_skinning 2016-12-12 13:45:04 +08:00
Benau
269e440d0c Avoid translating artist debug mode only fps string 2016-12-12 13:43:01 +08:00
Benau
a420b09363 Disable all karts animation if UBO size not big enough 2016-12-12 13:24:34 +08:00
auria.mg
044e8c52e1 Fix tabs added in previous commit, used spaces instead... 2016-12-11 20:19:58 -05:00
auria.mg
ab7ded308a Make presentation of kart characteristics uniform and indepdendent of difficulty. Fixes #2684, fixes #2539 2016-12-11 20:16:44 -05:00
Corentin Pazdera
aaecd58fc0 Adding appveyor config file (#2652)
I am unfamiliar with appveyor myself but I can merge the file. Next step would be for someone to take a look at settuping an account
2016-12-11 19:52:15 -05: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
Daniel Butum
244c812cf3 Add travis server only matrix configuration (#2682)
Also increase number of threads for the gcc builds
2016-12-11 19:15:37 -05:00
hiker
8785ddf148 Moved force-fog settings into track. 2016-12-12 08:05:07 +11:00
Benau
4327885f07 Add alpha test skinned mesh instanced shaders 2016-12-12 01:00:57 +08: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
samuncle
ae0b1136f5 better shader for underwater vegetation 2016-12-09 11:38:56 -05:00
Benau
c68492f42b Use a for loop for four bones (thanks leyyin suggestion!) 2016-12-09 23:21:41 +08:00
Benau
94f6d09bf5 Allow indirect and azdo shadow rendering for skinned mesh 2016-12-09 22:37:17 +08:00
Benau
f2422317ba Auto fallback to software skinning if not supported
Currently explicit attribute location, uniform buffer object and
opengl greater or equal 3.3 are required for hardware skinning

So even intel hd3000 in linux can do hardware skinning
2016-12-09 20:50:09 +08:00
Benau
76e070b709 Allow GL3 to have hardware skinning 2016-12-09 18:41:13 +08:00
Benau
b7e047b4c1 Avoid using else if in skinning vertex shader 2016-12-09 14:16:30 +08:00
hiker
22092e6459 Moved background/clear color from world to irr_driver. 2016-12-09 17:14:04 +11: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
hiker
fed12f774c Fixed potential deadlock, made debug output more useful. 2016-12-08 09:46:44 +11:00
Benau
407ed319de Show debug info about total skinning joints being calculated 2016-12-07 16:26:22 +08:00