Commit Graph

193 Commits (experimental)

Author SHA1 Message Date
825de71b29 removed an iostream include used for debug prints from nifstream.hpp 7 years ago
30a213a9b3 updates for nifstream optimization including fixing the non-x86 path for little endian reads 7 years ago
8834066dea make streaming to a type array in nif a direct copy from the file into the vector 7 years ago
090a8408b8 made nif basic type read optimizations more portable 7 years ago
c72aa19d6d first pass on optimization of nif parsing functions from the file stream 7 years ago
Bret Curtis d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 8 years ago
Bret Curtis 07f75e1104 replace boost::shared_ptr in extern and components 8 years ago
scrawl 9b27ec4945 Remove redundant and ambiguous NiNode::makeBone()
Ambiguous because a skeleton can have multiple skinned meshes, with their own bone weights/bind matrix each.
8 years ago
scrawl aa8459b5c7 Revert "Remove redundant allocations for NIF meshes"
This reverts commit a7c5beb7c5.

Conflicts:
	components/nif/data.cpp
	components/nifbullet/bulletnifloader.cpp
	components/nifosg/nifloader.cpp
8 years ago
scrawl 6a37909ee7 Revert "Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580)"
This reverts commit 115e563a7a.
8 years ago
scrawl 115e563a7a Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580)
The first part of the fix is to assign VBO/EBO's upon loading the array in the Nif reader. This avoids triggering the 'addVertexBufferObjectIfRequired' code path in osg::Geometry which has the race condition when two threads add the same Array at the same time. Essentially, we want the Arrays to be 'const' when they come out of the Nif reader.

The second part of the fix is to make sure not to create empty arrays in the Nif reader (importantly, not assigning a VBO to the empty array). This empty array would be deleted when the NIFFile is cleaned up, and the detachment of the VBO assigned to it (which is still in use by other arrays) would cause threading issues.

This rare crash bug was first introduced with commit a7c5beb7c5. When using OSG dev version 3.5 the crashes were a little more prevalent, because 'addVertexBufferObjectIfRequired' in osg::Geometry is now used even when VBO's are disabled (as part of the VAO support changes).
8 years ago
MiroslavR 99bcf47167 Implement NiSphericalCollider (Closes #3644) 8 years ago
scrawl 9375cbea44 Make NIFFilePtr const 9 years ago
scrawl 5f4ace1bc2 Implement support for sphere map NiTextureEffects (Fixes #1827) 9 years ago
scrawl e647ee5424 Support RGB and RGBA embedded textures in NIF files (Fixes #2295) 9 years ago
scrawl a9ac108382 Fully read NiPixelData 9 years ago
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.
9 years ago
scrawl 3ebfb47983 Do not discard root node transformations if the root node is named 'bip01' (Bug #3118) 9 years ago
scrawl de84452e5a NifFile: close the stream after reading (Fixes #3070) 9 years ago
scrawl 462ef617ce Don't read forward/backward values for Quaternion key lists
https://forum.openmw.org/viewtopic.php?f=8&t=3201&p=35867#p35867
9 years ago
scrawl 695fcf41c4 Optimize ValueInterpolator / KeyframeController
Cache the current position in the animation track and attempt to reuse it in the next frame.

Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
9 years ago
scrawl a29d1ace2b Read NiSpotLight 9 years ago
scrawl ba211ad9ad Read NiPointLight (Fixes #3011) 9 years ago
scrawl 626281977e Read NiLODNode (Bug #3008) 9 years ago
scrawl a7c5beb7c5 Remove redundant allocations for NIF meshes 10 years ago
scrawl ad46ff7a98 Remove redundant Transform nodes for TriShapes/ParticleSystems with an identity transform 10 years ago
scrawl c621d0400c Fix error handling for out-of-range NIF roots (found in Bosmora, TR) 10 years ago
scrawl b0b55e2037 Delete niftest as it's currently broken 10 years ago
scrawl da24e298ee Fix -Wreorder warnings 10 years ago
scrawl 604580d75d Move toMatrix to Nif::Node 10 years ago
scrawl e1f4a7f647 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/openmw/engine.cpp
	apps/openmw/mwgui/mainmenu.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwrender/animation.cpp
	apps/openmw/mwrender/debugging.cpp
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/renderingmanager.cpp
	apps/openmw/mwrender/sky.cpp
	components/nif/nifkey.hpp
	components/nif/nifstream.hpp
	components/nifbullet/bulletnifloader.cpp
	components/nifogre/ogrenifloader.hpp
	libs/openengine/bullet/physic.cpp
	libs/openengine/gui/manager.cpp
10 years ago
Rohit Nirmal 997347b01e Silence -Wreorder warnings. 10 years ago
Marc Zinnschlag e69687b0f2 silenced a warning (potentially unintialised variable) 10 years ago
scrawl 372a54bbc7 Dead code removal 10 years ago
scrawl 28643660d3 Change triangle indices to unsigned 10 years ago
scrawl 167ae600c5 Implement gravity decay (previously unknown float) 10 years ago
scrawl c4738b11b1 Identify unknown float in NiGravity 10 years ago
scrawl 236d628884 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/doc/documentmanager.cpp
	components/CMakeLists.txt
	components/bsa/resources.cpp
	components/nif/data.hpp
	components/nif/node.cpp
	components/nifogre/mesh.hpp
	components/nifogre/ogrenifloader.cpp
	components/nifogre/particles.cpp
10 years ago
scrawl c10c146ad1 Skeleton based bounding box callback for RigGeometry (Bug #455) 10 years ago
scrawl 46cbec9a4a Add skinning auto-detection in nifosg loader 10 years ago
scrawl b7867d6f0a Stop warning about unused nif properties 10 years ago
scrawl 6d9deaa386 Implement planar collider for particles (Fixes #2149) 10 years ago
scrawl 9141a8d801 Fully implement NiStencilProperty (Feature #1057) 10 years ago
scrawl 9242e6d256 Avoid copying keyframes in controller instances 10 years ago
scrawl 2db5df77f0 Change rotation/scale workaround in preparation for loading .kf controllers 10 years ago
scrawl f8422c3ed4 Particles mostly completed, still need to attach emitters to the correct node and handle NiBSPArrayController 10 years ago
dteviot 45b6538820 fixed MSVC 2013 warning C4800
forcing value to bool 'true' or 'false'
10 years ago
dteviot 407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
10 years ago
scrawl 6c63bab8e4 Change Nif::Property flags to unsigned 10 years ago
scrawl 8e01d8cb19 Add OSG nifloader, currently supports geometry, materials, basic texturing, skinning, morphing, and most controllers. 10 years ago