Alexei Kotov
c9300cac31
Update NIF node records, first pass
1 year ago
Alexei Kotov
f271c4305a
Fix formatting
1 year ago
Alexei Kotov
8856dff3db
Refactor NiParticleSystemController and update definitions
1 year ago
Alexei Kotov
0fe095303f
Rename Controller->NiTimeController, update NiTimeController and related code
1 year ago
Alexei Kotov
04d3f6a42d
Update NiPathController
...
Support 10.1.0.0+ NiPathController loading
1 year ago
Alexei Kotov
ca85820431
Refactor NiUVController
1 year ago
Alexei Kotov
208bfa9e21
Refactor NiMaterialColorController
1 year ago
Alexei Kotov
a7cc4e6ba6
Rename Node->NiAVObject and update everything directly related
...
Update NiNode
Simplify RootCollisionNode handling in BulletNifLoader
1 year ago
Alexei Kotov
ef896faa90
Rename Named->NiObjectNET and update everything directly related to it
...
BulletNifLoader: properly check if the node has animation controllers
Flatten extra data linked list
1 year ago
Alexei Kotov
fd3b24e2e6
Make better use of osg::BoundingSpheref in the NIF loader
1 year ago
Alexei Kotov
0154bb78df
Modernize NiSkinPartition
1 year ago
Alexei Kotov
6ac271d5c0
Modernize NiParticlesData and NiSkinData
1 year ago
Alexei Kotov
89774716fb
Modernize NiGeometryData
1 year ago
Alexei Kotov
cfd37dbcc6
Modernize NiTriShapeData
1 year ago
Alexei Kotov
5e8f9e7dd9
Modernize NiPixelData
1 year ago
Alexei Kotov
eba0ab444b
Modernize NiTriStripsData
1 year ago
Alexei Kotov
fda6b0b4f8
Modernize NiUVData, NiLinesData, NiTriBasedGeomData
1 year ago
Alexei Kotov
384a398b62
Modernize NiMorphData, palette and BSBound records
1 year ago
Alexei Kotov
5b07a78f2c
Modernize skin instance records
1 year ago
Alexei Kotov
2edf3399e2
Modernize extra data records
1 year ago
Alexei Kotov
087114e55b
Print unsupported interpolator record names
1 year ago
Alexei Kotov
bb6e008801
Modernize dynamic effects
1 year ago
Alexei Kotov
2e847a12c4
Modernize NiSourceTexture and BSShaderTextureSet
1 year ago
Alexei Kotov
fb8ead2bd4
Rename nif/controlled to nif/texture
1 year ago
Alexei Kotov
1d05aa2e37
Modernize particle modifiers
1 year ago
psi29a
c290754077
Revert "Merge branch 'loadSSEAlchemyTable' into 'master'"
...
This reverts merge request !3267
1 year ago
alekulyn
d2896945e8
Load SSE alchemy table
1 year ago
psi29a
2c989e4057
Merge branch 'coverityfixes' into 'master'
...
Correct some things based on Coverity's output
See merge request OpenMW/openmw!3272
1 year ago
psi29a
466b2f1b74
Merge branch 'mantlingtalos' into 'master'
...
Copy triangle data from NiSkinPartition, a.k.a. SKYRIM TREES
See merge request OpenMW/openmw!3235
1 year ago
Alexei Kotov
a8119f3863
Fix vertex color emissive lighting mode handling
1 year ago
Alexei Kotov
0d70ae5028
Clean up primitive set copying
1 year ago
Alexei Kotov
3f252eab5d
Copy triangle data from NiSkinPartition
1 year ago
Alexei Kotov
d6e420fb48
Handle BSShader specular flag
1 year ago
Alexei Kotov
6b6a3bcfca
Make decal rendering more accurate for Skyrim models, reducing Z-fighting
1 year ago
Alexei Dobrohotov
52a16e0e93
BSEffectShader/NoLighting fixes
...
Don't hijack BSShader::NoLighting for BSEffectShader functionality
(Fallout meshes break if you use the actual emissive color as a base color)
Don't use falloff for textureless NoLighting objects
Use falloff flag for BSEffectShader
2 years ago
Petr Mikheev
19fb9f8e14
Handle editor marker bit in BSXFlags
2 years ago
Petr Mikheev
788a4d32aa
Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty.
2 years ago
Petr Mikheev
fd90a8c9b4
Hide Nif nodes with name "EditorMarker".
2 years ago
Evil Eye
9728024978
Replace compare with more idiomatic methods
2 years ago
Cody Glassman
6a64f352a4
fix shader compilation
2 years ago
Cody Glassman
ac4787aeec
shade refactor
2 years ago
Alexei Kotov
e15434be94
Disable falloff in BSEffectShader for now
2 years ago
Alexei Kotov
8d3c5c0f05
Unify texture wrapping setup
2 years ago
Alexei Kotov
2de81738c1
Implement the basics of BSEffectShaderProperty
2 years ago
Alexei Kotov
9deed5c03e
Propagate dynamic effects to node's immediate children (bug #6550 )
2 years ago
Alexei Kotov
99aa90f90c
Rewrite NiVertexColorProperty
2 years ago
elsid
0688b6de40
Separate record list reading from its state
...
To make it possible to set record list state independently from reading NIF
file.
2 years ago
elsid
c338c1e5d3
Add Nif::FileView as read only interface for Nif::NIFFile
...
To make sure interface is scoped to what users require.
2 years ago
elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
...
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.
Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2 years ago
elsid
b39ccbeeef
Remove NIFFile::warn and NIFFile::fail functions
...
These functions use NIFFile only as context, they are not really a part of
either reading nor state invariant. And they only confuse reader because it's
not immediatelly obvious that no code is executed after fail.
2 years ago
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2 years ago
elsid
63b51ead84
Use nv_default shader prefix for unhandled types
2 years ago
Alexei Kotov
7aee22be91
Further controller updates
...
Correct NiMaterialColorController base class
Load everything in NiGeomMorpherController
Make a guess at how weighted interpolators might be supposed to work like
2 years ago
Alexei Kotov
482de23893
Streamline NiInterpController handling
2 years ago
Project579
a13709c510
Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions.
2 years ago
Project579
e5c417c968
Make sure all paths are passed as std::filesystem::path instead of std::string where possible.
2 years ago
Alexei Kotov
edbd05a3f7
Support more NiPixelData formats (feature #6945 )
2 years ago
psi29a
bb9884c024
Merge branch 'split_stringops' into 'master'
...
Split components/misc/stringops.hpp into multiple headers
See merge request OpenMW/openmw!2233
2 years ago
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
Alexei Kotov
014de72644
Use NiParticleSystemController's color for the initial particle color
2 years ago
Andrei Kortunov
c36c28e8f9
Move NIF implementation to cpp files
2 years ago
Andrei Kortunov
fe785ea788
Don't cast away const when we can avoid it
3 years ago
glassmancody.info
b09411d396
allow soft particles on meshes and add extra data extensions
3 years ago
Alexei Kotov
e673f9fa76
Clean up NIF flags
3 years ago
cody glassman
72fdf40e06
better support for particle arrays when spawning at node positions
3 years ago
elsid
4509b05bc8
Use std::make_shared instead of new
...
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
3 years ago
psi29a
1ac7eaa6b0
Merge branch 'NiFltAnimationNode' into 'master'
...
Add NiFltAnimationNode support
Closes #6684
See merge request OpenMW/openmw!1732
3 years ago
Wolfgang Lieff
373776170d
refactor for NiFltAnimationNode
3 years ago
Bret Curtis
af41560c3f
reverse the reverse flag check; set duration to 0.2f which matches openmw to morrowind speed which is measured in 1/5 seconds
3 years ago
Bret Curtis
0db5415976
refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md
3 years ago
Wolfgang Lieff
ead73fce31
initial NiFltAnimationNode support
3 years ago
Alexei Dobrohotov
eafa66ff40
Don't consider NiCollisionSwitch unoptimizeable
3 years ago
Alexei Dobrohotov
dd473d06df
Implement gloss-mapping (feature #6541 )
3 years ago
psi29a
b011809056
Merge branch 'master' into 'sort_me_baby_one_more_time'
...
# Conflicts:
# components/nif/niffile.cpp
3 years ago
elsid
2a87cf1720
Replace unordered_map by switch statement
...
Add handling for missing Nif::BSLightingShaderType::ShaderType_SkinTint. Use
string_view instead of string to avoid lifetime issues for returning value.
osg::Object::setUserValue will anyway copy string.
3 years ago
elsid
e1fe501013
Use proper type for Record::recType
3 years ago
glassmancody.info
712107de2d
nisortadjust support
3 years ago
psi29a
9183fa897e
Merge branch 'particle_vertex_palooza' into 'master'
...
Support vertex emitters (#6592 )
Closes #6592
See merge request OpenMW/openmw!1638
3 years ago
glassmancody.info
a05e029aa0
search for stencil enabled flag correctly
3 years ago
glassmancody.info
88f02913d5
use vertex emitters on array particle controllers when appropriate
3 years ago
glassmancody.info
8c2c322d92
add stencil to water RTTs, reword some comments
3 years ago
glassmancody.info
bbc9c53423
support morrowind stenciling
3 years ago
Alexei Dobrohotov
4521d3987c
Fix out of bounds UV set handling
3 years ago
elsid
3f14011087
Support multiple parents for NIF nodes
...
Choose a parent base on which node is used to iterate over children nodes.
This leads to duplicate handing of child nodes. A node will be handled so many
times how many parents it has.
For example:
p1 p2
\ /
c
Will be handled as:
p1 p2
| |
c c
If c has children they will be handled X times c is handled.
3 years ago
psi29a
d8d7a3b372
Merge branch 'softparticles_patch' into 'master'
...
Shadervisitor adjustments and Mac OS fix for soft particles
See merge request OpenMW/openmw!1380
3 years ago
Alexei Dobrohotov
a64057fb36
Some NIF cleanup
...
Clean up keyframe controller construction
Make LOD and switch node generation static
Clarify decal map implementation
3 years ago
elsid
a665a38aca
Use MurmurHash3_x64_128 for file hash
3 years ago
glassmancody.info
9389cfaa42
mac os driver workaround and shadervisitor fixes
3 years ago
Cody Glassman
d85f772269
Depth refactor
3 years ago
Alexei Dobrohotov
50b90a594d
Loading and basic handling of BSLightingShaderProperty
3 years ago
psi29a
ba0aae06ca
Merge branch 'morphyslaw' into 'master'
...
Morph geometry more like NifSkope (bug #6416 )
Closes #6416
See merge request OpenMW/openmw!1389
3 years ago
psi29a
41bd20e358
Merge branch 'bullet_shape_hash' into 'master'
...
Store BulletShape source file name and content hash
See merge request OpenMW/openmw!1379
3 years ago
Alexei Dobrohotov
c7edca559b
Morph geometry more like NifSkope (bug #6416 )
3 years ago
elsid
d7041613ef
Store BulletShape source file name and content hash
3 years ago
Alexei Dobrohotov
9880c43c86
Add specular strength shader parameter
3 years ago
glassmancody.info
8c3b00164e
soft particles
3 years ago
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback ( #3147 )
...
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
3 years ago
Bo Svensson
2568f119a4
reapplies PR without npe ( #3137 )
...
* avoids creating empty statesets on drawables
Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.
* renderingmanager.cpp
* nifloader.cpp
* nifloader.cpp
* shadervisitor.cpp
3 years ago
Andrei Kortunov
e109d86489
Revert "avoids creating empty statesets on drawables ( #3132 )"
...
This reverts commit 957c25a491
.
3 years ago
Bo Svensson
957c25a491
avoids creating empty statesets on drawables ( #3132 )
...
* avoids creating empty statesets on drawables
Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.
* renderingmanager.cpp
* nifloader.cpp
3 years ago