Commit graph

16052 commits

Author SHA1 Message Date
scrawl
8bd16e4d5a Don't compute the world matrix multiple times 2016-02-22 18:58:19 +01:00
scrawl
055d35a2b0 Revert "Warn about particle emitters that have multiple parent node paths"
Not working correctly because osg won't ignore camera nodes.

This reverts commit 1667c807be.
2016-02-22 18:10:25 +01:00
scrawl
a6621626aa Don't use multiple parent node paths in CSVRender::Object 2016-02-22 15:22:37 +01:00
scrawl
1667c807be Warn about particle emitters that have multiple parent node paths 2016-02-22 15:21:06 +01:00
scrawl
c5d3e6c993 Disable preloading of levelled lists 2016-02-22 14:31:02 +01:00
Marc Zinnschlag
f9f91d5386 Merge remote-tracking branch 'origin/master' 2016-02-21 09:01:17 +01:00
scrawl
cee608e31b Make it work with appveyor's outdated OSG build 2016-02-21 01:41:50 +01:00
scrawl
900b522d13 Rename viewPos to viewDirection 2016-02-21 01:28:42 +01:00
scrawl
8e826eefe6 Add missing initialization 2016-02-21 01:26:45 +01:00
scrawl
09684adeff Update settings documentation 2016-02-21 00:48:18 +01:00
scrawl
e25e0a0600 ShaderVisitor: assume the first texture unit is the diffuseMap 2016-02-20 23:47:32 +01:00
scrawl
e7682e04ae Cleanup 2016-02-20 22:09:41 +01:00
scrawl
cdefee3e64 Add call to MultiObjectCache::releaseGLObjects 2016-02-20 20:38:37 +01:00
scrawl
4ca6e91292 Fix in-code default settings so that we don't attempt to use shaders in OpenCS 2016-02-20 20:36:29 +01:00
scrawl
8f81df2bd3 Cleanup 2016-02-20 20:34:56 +01:00
scrawl
0db7163363 Add specular mapping for terrain 2016-02-20 19:55:08 +01:00
scrawl
171e293641 ShaderManager: insert #line directives when including files 2016-02-20 19:55:08 +01:00
scrawl
f01e8a6950 Add specular mapping for objects 2016-02-20 19:55:08 +01:00
scrawl
5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
2016-02-20 18:00:43 +01:00
scrawl
6a0ac824bd Fix terrain error in OpenCS 2016-02-19 15:00:58 +01:00
scrawl
7071d286e8 Fix inverted check for 16-bit indices 2016-02-19 14:59:47 +01:00
scrawl
4e5462bc19 Don't attempt to create a collision shape for an empty TriShape 2016-02-19 14:23:55 +01:00
scrawl
e2dc46c92e Update settings 2016-02-19 01:48:07 +01:00
scrawl
ca0e1fe0e0 Set the osg::Material on the terrain root node 2016-02-19 01:45:28 +01:00
scrawl
6000e48bba Add terrain shaders and normal map support
Textures with _n filename suffix are automatically recognized as terrain normal maps.
2016-02-19 01:37:30 +01:00
scrawl
17c4dfdb62 Use the lowest unused texture unit for the enchanted item glow texture 2016-02-18 23:10:58 +01:00
scrawl
5e12a1b4ef Add enchanted item glow to the shader 2016-02-18 23:05:44 +01:00
scrawl
268594dcf1 Recreate shader in NpcAnimation::setAlpha 2016-02-18 22:48:53 +01:00
scrawl
1232607385 Remove pointless widget names in settings layout file 2016-02-18 19:41:06 +01:00
scrawl
a73512afb7 Add shader settings to settings.cfg 2016-02-18 19:38:34 +01:00
scrawl
3969675afa Remove unused settings 2016-02-18 19:38:34 +01:00
scrawl
e5a37a7023 Add normal map code 2016-02-18 19:37:59 +01:00
scrawl
18e80d5627 Add per-pixel lighting code 2016-02-18 19:37:59 +01:00
scrawl
1223bca3d4 Move doLighting to separate file 2016-02-18 19:37:59 +01:00
scrawl
21c4dffed2 Add #include support in shaders 2016-02-18 19:37:58 +01:00
scrawl
22cc5c0965 Cache the Program 2016-02-18 19:37:58 +01:00
scrawl
456816f707 Use diffuse.a / vertex.a, use material emission 2016-02-18 19:37:58 +01:00
scrawl
5fd84074c5 Reimplement detailMap, darkMap and emissiveMap 2016-02-18 19:37:58 +01:00
scrawl
e845c576d4 Use the texture matrix 2016-02-18 19:37:58 +01:00
scrawl
3e854a84a2 Slightly more efficient applying of light state 2016-02-18 19:37:57 +01:00
scrawl
3859c58a8a Assign gl_ClipVertex in the vertex shader to make clip planes work 2016-02-18 19:37:57 +01:00
scrawl
553408949a Fix character preview 2016-02-18 19:37:57 +01:00
scrawl
bd279c63f7 Fix fog on water 2016-02-18 19:37:57 +01:00
scrawl
f93b7ec943 Fix light state issue
GLSL does not respect gl_Disable(GL_LIGHTX), so we have to set unused lights to zero.

Sadly, this change makes the applying of the modelView matrix less efficient. So far I couldn't find a better solution, osg's state tracker keeps getting in the way. :(
2016-02-18 19:37:57 +01:00
scrawl
9376811213 Vertex lighting shader 2016-02-18 19:37:57 +01:00
scrawl
044e0a829a Add fog 2016-02-18 19:37:57 +01:00
scrawl
41e1fd407d Disable shaders for the sky 2016-02-18 19:37:56 +01:00
scrawl
a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
2016-02-18 19:37:56 +01:00
scrawl
e647ee5424 Support RGB and RGBA embedded textures in NIF files (Fixes #2295) 2016-02-18 19:37:56 +01:00
scrawl
a9ac108382 Fully read NiPixelData 2016-02-18 19:37:56 +01:00