Commit graph

2241 commits

Author SHA1 Message Date
scrawl
0efbdb25ee Improve const-correctness in Animation 2016-05-19 22:30:14 +02:00
scrawl
59cfcb38e2 Scale the sunlight specular color by weather's GlareView value (Fixes #3375) 2016-05-10 17:39:57 +02:00
Aesylwinn
14ae232938 Remove now unnecessary factory class.
It was originally used for storing normals, but that functionality
was removed.
2016-05-03 16:13:23 -04:00
Aesylwinn
5cac882123 Replace game version of pathgrid rendering with component. 2016-05-02 22:10:17 -04:00
Bret Curtis
2c90b0b78d fix a few spelling mistakes 2016-04-07 11:55:49 +02:00
scrawl
157c11398d Add terrain parallax mapping 2016-03-22 21:46:15 +01:00
scrawl
30402f75e3 Use xbase_anim_female as the base skeleton for female NPCs (Fixes #3258) 2016-03-18 00:24:38 +01:00
scrawl
2b38d10449 Always add xbase_anim 2016-03-18 00:17:05 +01:00
scrawl
85bd4f52f0 Improve occlusion query geometry rendering 2016-03-11 00:09:46 +01:00
scrawl
93ec289b1d Improve setting of occlusion query state 2016-03-10 23:18:20 +01:00
scrawl
f898bf493f Don't use Geodes 2016-03-10 13:17:01 +01:00
scrawl
137dde7cf8 Include cleanup 2016-03-10 12:59:17 +01:00
scrawl
0fc65db6bb Remove parts before setting the new object root 2016-03-06 11:34:15 +01:00
scrawl
0df975a4d7 Properly detach nodes in CopyRigVisitor (Fixes #3234) 2016-03-06 11:33:07 +01:00
scrawl
67c8faec75 Infinite loop fix 2016-03-02 13:20:23 +01:00
scrawl
08f06c6c2d Fix a crash that could occur with actors that define 'bip01 spine1' but do not define 'bip01 spine2' (Fixes #3223). 2016-03-01 16:58:39 +01:00
scrawl
87871d7d54 Don't add RotateController to an uncontrolled node 2016-02-29 20:23:19 +01:00
scrawl
84e9d346ef Remove duplicate include 2016-02-28 16:47:33 +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
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
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
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
a73512afb7 Add shader settings to settings.cfg 2016-02-18 19:38:34 +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
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
e05d975020 Change the way that texture filtering settings are applied at runtime 2016-02-18 19:37:55 +01:00
scrawl
7f89bb273a Add 'reflect actors' setting for the water shader, default off 2016-02-18 19:36:17 +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
d3808580b0 Rename lightRoot to sceneRoot 2016-02-10 19:07:47 +01:00
scrawl
5e876b1379 Add missing include 2016-02-10 15:34:06 +01:00
scrawl
0865cea211 Preload terrain 2016-02-09 21:16:11 +01:00
scrawl
596fe56bfd Make Land::loadData thread safe 2016-02-09 20:21:56 +01:00
scrawl
1457a0de78 Use the UnrefQueue to delete BulletShapeInstances 2016-02-09 19:04:59 +01:00
scrawl
e28dc3e72f Preload instances in SceneManager 2016-02-09 18:35:26 +01:00
scrawl
ce3cce24a5 Remove unneeded dynamic_cast 2016-02-09 16:39:05 +01:00
scrawl
8ece1885cd Animation: don't create the NodeMap if we don't need it 2016-02-09 16:39:05 +01:00
scrawl
ae031b23d4 Do not detach NPC parts in destructor 2016-02-09 16:10:42 +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
1cda2bf796 Preload sky & water from the main menu 2016-02-09 01:28:13 +01:00
scrawl
f9082502f8 Move construction of WorkQueue to RenderingManager 2016-02-09 01:02:40 +01:00
scrawl
1b8e82e929 Preload NPC body parts 2016-02-09 00:26:22 +01:00
scrawl
d855a13b44 Clear the resource cache from the worker thread 2016-02-07 00:36:31 +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
499beda665 Clear terrain texture cache before applying filter settings 2016-02-05 23:20:13 +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
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
scrawl
5b972ee777 Move texture filtering settings to SceneManager
Practical benefits:

- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
2016-02-05 21:03:10 +01:00
scrawl
7d647088ab Make the local map cell distance configurable 2016-02-05 01:19:45 +01:00
scrawl
bd655c20fd Refactor local map updates
We don't need the delay any more because the rendering itself is part of the normal rendering traversal - so it's delayed anyway.

Don't request maps that we're not actually using (i.e. with cell grid sizes higher than the default 3, we were rendering more maps than the map window could show).
2016-02-05 01:19:45 +01:00
scrawl
aa9905b0eb Do not crash when the water normal map is missing (Fixes #3179) 2016-02-03 15:24:28 +01:00
scrawl
74c18f532e Fix comment 2016-02-03 14:40:59 +01:00
scrawl
5878291064 Fix the path correction for animation sources provided in NPC record (Fixes #2444) 2016-02-03 14:40:21 +01:00
Alexander "Ace" Olofsson
776c715ccd Move NoTraverseCallback to mwrender/util.hpp 2016-01-29 23:21:58 +01:00
scrawl
aec8c38461 Move observer_ptr include where it belongs 2016-01-25 21:03:33 +01:00
scrawl
fc6fe9acfb Do not crash ModVertexAlphaVisitor when there are no vertex colors 2016-01-25 18:52:20 +01:00
scrawl
87beb73970 Correction 2016-01-15 16:34:57 +01:00
scrawl
fbf07133ea Document usage of node masks 2016-01-15 16:31:24 +01:00
scrawl
41c571d4f4 Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
Conflicts:
	apps/opencs/view/render/instancemode.cpp
2016-01-15 15:46:10 +01:00
scrawl
3089aeccc4 Factor out SceneUtil::addLight 2016-01-11 23:10:16 +01:00
scrawl
438b30d6f0 Move configureLight to a separate file 2016-01-11 23:10:16 +01:00
scrawl
6546c05428 Move Fallback map to components/ 2016-01-11 23:10:16 +01:00
scrawl
ca4e859f61 Remove unused argument 2016-01-11 22:58:01 +01:00
scrawl
4690fd3f22 Change the local map exploration radius to better match the original engine 2016-01-11 22:57:57 +01:00
scrawl
446c714727 Fix a possible memory leak in error case 2016-01-04 20:39:08 +01:00
scrawl
daa94cc50e Fix cppcheck warnings 2016-01-03 20:19:38 +01:00
scrawl
7a2ca5580a Accept a ConstPtr in RippleSimulation 2015-12-19 15:51:41 +01:00
scrawl
ed101ad35a Remove redundant getPlayerAnimation function 2015-12-18 17:44:57 +01:00
scrawl
7a8a7e3dd6 Add const version of getAnimation 2015-12-18 17:21:51 +01:00
scrawl
7a4aac1842 Use a ConstPtr for the PtrAnimationMap 2015-12-18 17:20:29 +01:00
scrawl
d3d6a69eea Merge pull request #862 from scrawl/const
ConstPtr
2015-12-18 15:20:34 +01:00
scrawl
1c8244276d Exception handling improvements (Bug #3090) 2015-12-18 02:36:34 +01:00
scrawl
c9d02c67c0 Remove unneeded const_cast in TerrainStorage 2015-12-17 23:33:47 +01:00
scrawl
fce43854bc Fix last commit 2015-12-17 03:50:15 +01:00
scrawl
0a723ab075 Animation: do not assume the object root is a Group 2015-12-17 03:48:11 +01:00
Chris Robinson
f1faeeae3a Use separate config options for min and mag texture filters 2015-12-13 17:05:19 -08:00
Chris Robinson
5c0a847eaf Combine some duplicate code 2015-12-13 16:51:27 -08:00
Chris Robinson
b830a413d3 Rename the texture filter options
To avoid compatibility issues with upgrading from or downgrading to older
builds.
2015-12-13 16:02:09 -08:00
Chris Robinson
76bde5ee13 Separate and expand texture filtering options 2015-12-13 11:25:01 -08:00
scrawl
64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 2015-12-13 15:31:07 +01:00
scrawl
9bc6f2d5f6 Fix water ripples 2015-12-09 20:35:51 +01:00
Marc Zinnschlag
071ba3a4df Merge remote-tracking branch 'scrawl/werewolf' 2015-12-08 09:28:35 +01:00
scrawl
07b064f616 Rename to lowerCaseInPlace 2015-12-07 22:49:15 +01:00
scrawl
e520d37c87 Override the field of view for first person meshes (Fixes #858, Fixes #3051) 2015-12-07 16:29:30 +01:00
scrawl
9621b66b78 Move field of view setting to Camera section 2015-12-07 16:23:06 +01:00
scrawl
136a425cec Use the Werewolf field of view override (Fixes #3064)
Need to re-run the settings importer for the feature to work.
2015-12-07 16:11:47 +01:00
Paul Cercueil
0765ff3ba2 mwrender: Add missing includes
Those missing includes were causing the build to fail when compiled with
USE_GLES set.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2015-12-06 16:01:21 +01:00
scrawl
67a6a8f5d4 Make projectiles receive lighting 2015-12-05 00:44:18 +01:00
scrawl
3f93af4181 Projectiles interact with the water surface (Fixes #2986) 2015-12-04 23:28:11 +01:00
scrawl
8e9571d155 Double buffer the light StateAttributes and StateSets
Fixes a race condition where the position of a light could jump a frame ahead.
2015-12-04 00:06:22 +01:00
scrawl
1ec338f19d Don't attempt to load external keyframes for non-NIF files 2015-12-03 20:11:28 +01:00
scrawl
795f6d77f2 Cache the Animation's Skeleton 2015-12-03 20:06:00 +01:00
scrawl
86881bcf39 In first person mode, attach sound listener to the camera 2015-12-03 15:16:20 +01:00
scrawl
f5f3d18b8e Add comment 2015-11-30 17:19:27 +01:00
scrawl
576d5111a5 Prefer Intersector::PROJECTION over Intersector::WINDOW 2015-11-30 17:04:45 +01:00
scrawl
0655abcd8b Fix some character preview raycasting issues (Bug #2769) 2015-11-30 05:43:36 +01:00
scrawl
d2290a8183 Don't crash when Water_SurfaceFrameCount is 0 2015-11-30 00:41:26 +01:00
Marc Zinnschlag
6facce9d13 Merge remote-tracking branch 'origin/master' 2015-11-28 10:02:37 +01:00
scrawl
a1fa1b2b2e Don't attempt to open an empty texture 2015-11-28 06:01:24 +01:00
scrawl
35fa1f5865 Not found Land Textures are no longer a fatal error (Bug #3037)
Log warning message and show the default texture when encountering invalid ESM::LandTexture references.
2015-11-27 21:57:24 +01:00
scrawl
5b8fd79b4b Fix crash when exception is thrown in startNewGame() 2015-11-27 21:38:57 +01:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
61314e1db1 Fix bounding box of bullet debug drawer 2015-11-20 03:04:03 +01:00
scrawl
706b1d4c28 Disable culling of ClipNode 2015-11-20 02:22:37 +01:00
scrawl
8c268f239e Set the object node scale before inserting model
This fixes initWorldSpaceParticles not taking object scale into account. Still not taking into account object rotation or node animations. Ideally the initWorldSpaceParticles needs to run in an updateCallback.
2015-11-19 15:57:12 +01:00
scrawl
eb2f16d682 Support for loading .osg mesh format 2015-11-16 23:26:43 +01:00
scrawl
0f347eccbf Flip the origin of global map texture
Now it's consistent with the overlay texture.
2015-11-15 21:36:41 +01:00
scrawl
8b7bdcd127 Fix the global map overlay viewport (Bug #3018) 2015-11-15 21:32:34 +01:00
scrawl
a68fd791c8 Remove a stray method declaration 2015-11-11 17:24:27 +01:00
scrawl
79c44d0bfe Style fix 2015-11-11 17:23:47 +01:00
scrawl
02148a43f5 Node mask fix 2015-11-11 17:22:31 +01:00
scrawl
0a52ee17c3 Fix Drawable removal issues 2015-11-11 17:04:06 +01:00
scrawl
afa590bddb Leak fix 2015-11-11 16:04:17 +01:00
scrawl
c62c1693e9 Disable copy constructor and operator= in PartHolder 2015-11-11 01:47:26 +01:00
scrawl
2e9805fa0e Leak fix 2015-11-11 00:50:57 +01:00
scrawl
b840c68f0c Do not create a depth buffer for the global map 2d rendering 2015-11-10 21:55:21 +01:00
scrawl
8e3bc981a2 Fix self-referencing camera 2015-11-10 21:45:53 +01:00
scrawl
0409e5a043 Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change) 2015-11-10 18:28:58 +01:00
scrawl
f1ac408f35 Place Drawables directly in the scene graph when built with OSG 3.4
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.

There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
2015-11-10 18:23:42 +01:00
scrawl
35459f20d5 Refactor lighting mask 2015-11-10 17:23:12 +01:00
scrawl
91583fc027 Fix MWRender::Mask_ParticleSystem 2015-11-10 17:00:33 +01:00
scrawl
637cd3a628 Adjust the FirstPersonNeckController to follow the camera with a reduced factor (Fixes #1784) 2015-11-10 01:01:41 +01:00
scrawl
1b52749ae1 Adjust third person camera height based on character height 2015-11-09 17:42:35 +01:00
scrawl
055841e721 Improve cloud lighting 2015-11-09 02:22:40 +01:00
scrawl
2407f393ce Fix double update traversal in screenshot function 2015-11-06 23:14:27 +01:00
scrawl
6e69808129 Fix the frameNumber not being incremented in certain frames 2015-11-06 23:14:27 +01:00
scrawl
c996702b56 Fix some uninitialised variables found by static analysis 2015-11-04 20:34:50 +01:00
scrawl
1cf1c944b7 Don't attempt to render weather particles on the refraction and reflection textures 2015-11-03 23:20:17 +01:00
scrawl
209fa52883 Hide weather particles underwater (Fixes #2701) 2015-11-03 23:15:43 +01:00
scrawl
e3b30baff9 clipFudge fix 2015-11-03 23:10:52 +01:00
scrawl
c0a81030bb Make use of INI settings for the simple water 2015-11-03 02:24:50 +01:00
scrawl
30c828dff0 Include cleanup 2015-11-03 02:17:42 +01:00
scrawl
8e8f72408d Use diffuse/ambient lighting for the simple water 2015-11-03 02:12:00 +01:00
scrawl
380256977b Fix another renderBin issue with the weather particles
Depth sorting w.r.t. the rest of the scene was broken
2015-11-03 01:53:38 +01:00
scrawl
9902dfc9ef Comment 2015-11-03 01:53:22 +01:00
scrawl
ad016da31d Enable fog on weather particles 2015-11-03 01:42:37 +01:00
scrawl
fd1ccd21ff Disable freezeOnCull for weather particles 2015-11-02 23:49:22 +01:00