Commit Graph

326 Commits

Author SHA1 Message Date
Alexei Dobrohotov 0922d0b105 Clean up text key extraction 2021-08-22 05:56:30 +03:00
Alexei Dobrohotov 956edca524 Don't re-enable specularity w/ material controller for MW models 2021-08-09 21:17:13 +03:00
Alexei Dobrohotov 1fc7cb8191 Don't use FreezeOnCull for any particle system (#4744) 2021-08-08 03:36:35 +03:00
glassmancody.info 09e03fde2e refactor and fix wobbly shores 2021-08-04 17:49:57 -07:00
glassmancody.info 70fac33940 initial reverse-z depth implementation 2021-08-04 17:39:11 -07:00
Alexei Dobrohotov 11694ba87f Correct dark map and detail map alpha handling
Comment texenv usage in NIF loader
2021-07-29 04:48:59 +03:00
AnyOldName3 e42b3bf960 Adapt destination alpha factor for AMD
As discussed in the comment, it's unclear to me whether this is a driver
bug or mandatory behaviour only AMD implement.

Some more context is here:
https://gitlab.com/OpenMW/openmw/-/issues/6119#note_618245903
2021-07-04 23:00:33 +01:00
glassmancody.info 4bbbbb00f6 use particle data for particle system quota 2021-05-14 10:52:19 -07:00
Dobrohotov Alexei 19f0b80983 Improve null root handling 2021-05-05 02:41:30 +03:00
Andrei Kortunov 6d351b2bdd Fix MSVC 4706 warnings 2021-04-23 22:53:59 +04:00
Andrei Kortunov 2d869ca9ff Fix node masks signed/unsigned mismatch 2021-04-20 10:52:51 +04:00
Andrei Kortunov 7d5c5f8a24 Do not assign negative values to unsigned variables 2021-04-19 16:08:19 +04:00
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 2021-03-22 01:55:58 +03:00
Dobrohotov Alexei 952b31ac5c NiZBufferProperty: handle depth test flag (bug #5902) 2021-03-15 13:40:02 +03:00
Alexei Dobrohotov 46ec40fa92 Make sure NIFLoader avoids working further with empty geometry 2020-12-18 01:22:34 +03:00
Alexei Dobrohotov c0b9823372 Read BSShaderProperty and handle NiGeometry properties 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov 42226533d8 Handle BSLODTriShape
Its levels of detail are currently not handled
2020-12-15 00:06:43 +03:00
Alexei Dobrohotov 8fd45d85ec Unify NiGeometry/NiGeometryData handling 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov 8ca324af0a Handle emissive TexEnv creation in one place 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov 5310dd6807 Clean up particle vertex handling 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov db9c174ca8 Make NIF particle node handling more generic 2020-11-30 12:33:18 +03:00
AnyOldName3 86fad60c7d Merge branch 'roots' into 'master'
Handle multiple root nodes (bug #5604)

Closes #5604

See merge request OpenMW/openmw!428
2020-11-29 01:25:22 +00:00
Alexei Dobrohotov 5b6377b061 Handle multiple root nodes (bug #5604) 2020-11-28 13:25:39 +03:00
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
Alexei Dobrohotov a46699fb1e Handle NiGeomMorpherController interpolator list 2020-11-10 23:23:11 +03:00
Alexei Dobrohotov f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
2020-11-10 22:37:39 +03:00
Alexei Dobrohotov c79f509652 Misc NIF loader improvements
Bullet NIF loader cleanup
Collect all extra records of a node
Remove code duplication in geometry type detection in OSG-side NIF loader
2020-11-08 13:23:18 +03:00
Alexei Dobrohotov 4fc5e22e9e NIF fixes and cleanup
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
2020-10-26 02:51:25 +03:00
Alexei Dobrohotov 71056c6014 Clean up palettized NiPixelData loading 2020-10-25 14:37:29 +03:00
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Alexei Dobrohotov 9f08dc9968 Revert "Merge branch 'skinning' into 'master'"
This reverts merge request !327
2020-10-08 23:24:28 +00:00
Alexei Dobrohotov 6be808e301 RigGeometry: convert some pairs to structs 2020-10-08 03:05:59 +03:00
Alexei Dobrohotov 29ccb09da5 Introduce some extended NIF definitions 2020-10-04 13:18:56 +03:00
AnyOldName3 a338e8c561 Actually set the uvSet value
This got lost when uvSet was made into a local variable.
2020-09-24 17:13:09 +01:00
AnyOldName3 b2cb98d30e Fix NiFlipController
NiFlipControllers *always* affect the base texture, even if no base
texture is bound. When no base texture is bound, they default to UV set
zero and to having wrapped UV coordinates, instead of using the settings
for the disabled base texture.
2020-09-16 23:03:42 +01:00
Capostrophic 8c213cbfb1 Avoid optimizing animated shapes once again (regression #5565) 2020-08-05 22:39:48 +03:00
Capostrophic 46825e8a4d Move NIF record index back to a separate user object
This makes sure it's never erroneously optimized out. NodeIndexHolders don't need to be cloned as their record index is never supposed to be changed.
2020-07-26 09:57:43 +03:00
Capostrophic a61267f57d Replace NodeUserData with a custom transform node 2020-07-26 09:57:43 +03:00
Capostrophic 4c9cefefdd Get rid of NifOsg::CollisionSwitch 2020-07-26 09:57:43 +03:00
Bret Curtis 0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
Frederic Chardon f268bc13f1 Do not set particle lifetime to 0 (#5472) 2020-07-01 11:04:18 +00:00
elsid 40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +02:00
bzzt lost a hitlab login f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Capostrophic 7aca18f92b Handle NiLines (feature #5445) 2020-05-30 19:09:34 +03:00
Capostrophic 74a74209ac Allow junk (data-less) NiParticleColorModifiers 2020-05-26 15:08:10 +03:00
Capostrophic 7a9403aeed Remove unnecessary casts 2020-05-26 15:01:26 +03:00
Capostrophic fc9a10ba48 Streamline node controller handling
Reduce code duplication
Allow non-animated nodes controlled by NiVisController to be optimized out
2020-05-26 15:00:47 +03:00
Capostrophic 89a2c69a61 Support particle node transformations 2020-05-25 23:51:15 +03:00
elsid a59e25e093
Optimize MWRender::Animation::hasAnimation
Use a set to check for group start existence.
Reduce time taken from 2.6% to 0.08% and
MWMechanics::MechanicsManager::update from 7% to 5%
in relative CPU time usage for a scene with ~100 actors.
2020-05-21 16:21:11 +02:00
Capostrophic b665fed8f2 Introduce NiGeometry abstraction 2020-05-14 10:52:27 +03:00