scrawl
3a2dccad4b
Implement 'Show' script instruction
2016-02-27 13:40:53 +01:00
scrawl
c3ef387208
Vanilla-compatible creature/NPC respawning ( Fixes #2369 , Fixes #2467 )
2016-02-27 12:53:07 +01:00
scrawl
f99cd15f00
Vanilla-compatible activate / onActivate ( Fixes #1629 )
...
See https://forum.openmw.org/viewtopic.php?f=6&t=3074&p=34618#p34635
2016-02-26 13:08:35 +01:00
scrawl
195c3b9967
Merge pull request #904 from sandstranger/disable_opengles_anddroid
...
disable opengl es for Android by default
2016-02-25 21:39:25 +01:00
scrawl
cdccf03228
Fix mismatched delete
2016-02-25 21:32:42 +01:00
sandstranger
a7b78b37f5
disable opengles for Android by default
2016-02-25 22:39:18 +03:00
scrawl
5f4ace1bc2
Implement support for sphere map NiTextureEffects ( Fixes #1827 )
2016-02-24 21:06:41 +01:00
scrawl
062410bd8c
Don't incorrectly remove TexEnv state
2016-02-23 10:56:18 +01:00
scrawl
90a99991d1
Use empty() instead of !size()
2016-02-22 19:06:12 +01:00
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
1667c807be
Warn about particle emitters that have multiple parent node paths
2016-02-22 15:21:06 +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
8e826eefe6
Add missing initialization
2016-02-21 01:26:45 +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
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
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
a73512afb7
Add shader settings to settings.cfg
2016-02-18 19:38:34 +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
3e854a84a2
Slightly more efficient applying of light state
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
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
scrawl
606758d72f
NifLoader: create the BumpTexture slot, but don't use it yet
2016-02-18 19:37:56 +01:00
scrawl
4cd4131da9
NifLoader: assign a name to created textures
...
This name will tell the shader visitor how to handle that texture.
2016-02-18 19:37:56 +01:00
scrawl
50e92c8136
NifLoader: move texture property handling to a separate function
2016-02-18 19:37:56 +01:00
scrawl
acf44fd9e5
NifLoader: handleTextureControllers outside of the NumTextures loop
2016-02-18 19:37:55 +01:00
scrawl
e05d975020
Change the way that texture filtering settings are applied at runtime
2016-02-18 19:37:55 +01:00
scrawl
a94029267f
Fix an inverted condition (Bug #3209 )
2016-02-18 01:25:52 +01:00
scrawl
c4d38bb42d
Fix clang analyzer warnings
2016-02-16 19:17:04 +01:00
scrawl
ed57293e54
Allow '^' escape characters in books
...
http://forum.openmw.org/viewtopic.php?f=2&t=3373&p=37584&sid=1a0b015e6716b1bced37fd398ef876c7
2016-02-16 14:55:13 +01:00
scrawl
9eb96b9cb6
Parse the bullet version in FindBullet.cmake
2016-02-15 14:34:59 +01:00
scrawl
83a9a164bc
Raise the required bullet version to 2.83
...
2.82 appears to have a bug that causes the player to be able to phase through certain objects (bug #1587 ).
2016-02-15 00:33:17 +01:00
Marc Zinnschlag
28e3fe837f
Merge remote-tracking branch 'scrawl/osg_34'
2016-02-14 17:31:33 +01:00
scrawl
eaf3f5a829
Remove unused arguments
2016-02-13 04:14:05 +01:00
scrawl
6fc6913424
Do not set the cursor when creating it
2016-02-13 03:34:09 +01:00
scrawl
5824619a95
Clean up includes
2016-02-12 19:28:10 +01:00
scrawl
8b596dfcbe
Remove support for OSG 3.2
...
Since commit e8662bea31
, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
2016-02-12 14:46:45 +01:00
scrawl
be6ea3d607
Account for UV coordinate flip in UVController ( Fixes #3203 )
2016-02-11 16:22:54 +01:00
Marc Zinnschlag
da6dcfc49e
Merge remote-tracking branch 'scrawl/resource'
2016-02-10 16:23:38 +01:00
scrawl
5e876b1379
Add missing include
2016-02-10 15:34:06 +01:00
scrawl
98c5e072f2
Swap the terrain cache update order to make more sense
2016-02-09 21:17:10 +01:00
scrawl
9f729667fb
Remove debug output
2016-02-09 21:16:11 +01:00
scrawl
0865cea211
Preload terrain
2016-02-09 21:16:11 +01:00
scrawl
98848c752a
Make getLayerInfo thread safe
2016-02-09 20:26:58 +01:00
scrawl
8aba74e6ee
Remove GridElement
2016-02-09 20:23:53 +01:00
scrawl
596fe56bfd
Make Land::loadData thread safe
2016-02-09 20:21:56 +01:00
scrawl
afe533e670
Accept a const Object in UnrefQueue
2016-02-09 19:00:30 +01:00
scrawl
246566cef4
Preload instances in BulletShapeManager
2016-02-09 18:48:49 +01:00
scrawl
e28dc3e72f
Preload instances in SceneManager
2016-02-09 18:35:26 +01:00
scrawl
2e62298bd3
Clean up ObjectCache includes
2016-02-09 18:11:07 +01:00
scrawl
40a6e05e17
Use a deque instead of vector in UnrefQueue
2016-02-09 16:09:55 +01:00
scrawl
d11c2864df
Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread
2016-02-09 15:45:35 +01:00
scrawl
84f01b7527
Remove unneeded forward declaration
2016-02-08 16:27:28 +01:00
scrawl
b2019d31c7
Mark thread safe methods in BsaFile
2016-02-08 15:55:05 +01:00
scrawl
e4e313fe12
Remove outdated comment
2016-02-08 14:41:21 +01:00
scrawl
c8054424c9
Preload items equipped by NPCs
2016-02-07 22:37:52 +01:00
scrawl
a81b10b415
Make the cache expiryDelay configurable
2016-02-07 19:05:55 +01:00
scrawl
41233fc8e5
Keep a reference to the original scene template for as long as the instance is used
2016-02-07 18:56:21 +01:00
scrawl
778bce3ae9
Remove unused ObjectCache functions
2016-02-07 18:27:12 +01:00
scrawl
49ecac4ced
Add a mutex lock around the SharedStateManager
2016-02-07 07:37:35 -08:00
scrawl
c3ad4dad75
Fix applying of filter settings on terrain textures
2016-02-07 05:53:56 -08:00
scrawl
8b981ab507
Crash fix
2016-02-07 05:53:42 -08:00
scrawl
c155680d3c
Customize ObjectCache for more efficient locking in removeExpiredObjectsInCache
2016-02-07 00:43:37 +01:00
scrawl
d855a13b44
Clear the resource cache from the worker thread
2016-02-07 00:36:31 +01:00
scrawl
6f9ca0f68f
Add basic cell preloader class
...
Not properly in use yet, but seems to be working.
2016-02-07 00:14:13 +01:00
scrawl
e055ae094a
Improve const-correctness in BulletShapeManager
...
Sadly, two const_cast's are needed to work around Bullet API quirks.
2016-02-07 00:14:13 +01:00
scrawl
b7e69cbc64
Refactor WorkQueue, merge WorkTicket and WorkItem
...
Allow the caller to hold on to the WorkItem. This makes it possible for a derived WorkItem to store the result of the work within the WorkItem itself.
2016-02-06 22:42:45 +01:00
scrawl
df57d4bfba
Use a common base class for resource managers
...
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
2016-02-06 17:22:17 +01:00
scrawl
e02f35264f
Work around OSG 3.2 not respecting the DEEP_COPY_CALLBACK flag ( Fixes #3183 )
2016-02-06 15:08:12 +01:00
scrawl
ea1efaac0c
Use the osgDB::ObjectCache in SceneManager, cleanup
2016-02-06 00:15:12 +01:00
scrawl
909c4d96b6
Use the osgDB::ObjectCache in BulletShapeManager
2016-02-05 23:59:37 +01:00
scrawl
6c1c653cba
Use the osgDB::ObjectCache in ImageManager
...
Should be thread safe now.
2016-02-05 23:31:59 +01:00
scrawl
9e5225bb6f
Do not unref a Texture's image data after applying it
2016-02-05 23:21:54 +01:00
scrawl
9e53e12c70
More renaming of TextureManager -> ImageManager
2016-02-05 23:10:27 +01:00
scrawl
5ee3d1698f
Remove getWarningTexture in favor of getWarningImage
2016-02-05 23:05:43 +01:00
scrawl
f99f403dda
Rename TextureManager to ImageManager
2016-02-05 23:03:53 +01:00
scrawl
6ef848b7c5
Remove TextureManager::getTexture2D
...
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.
This is closer to what the OSG serializer does.
Streamlines the TextureManager and will make it easier to multithread.
2016-02-05 23:01:11 +01:00
scrawl
fbd4ad9b0c
Flip terrain textures
2016-02-05 22:46:15 +01:00
scrawl
71401aafe7
Handle multipass techniques in SetFilterSettingsVisitor
2016-02-05 21:08:32 +01:00
scrawl
31988ca4cc
Add a dont_override_filter description for textures that should be left alone
2016-02-05 21:07:08 +01:00
scrawl
e8662bea31
Change the way that image origin is converted to OpenGL's lower-left convention
...
Flip the texture coordinates instead of flipping textures.
This simplifies the TextureManager (no need to worry if the caller wants flipping or not), should make it easier to generalize & multithread it.
2016-02-05 21:03:11 +01:00