rpms/ogre/F-12 ogre-NULL-fix-9337.patch, NONE, 1.1 ogre-RenderQueueGroupID-doc-9196.patch, NONE, 1.1 ogre-default-shadows-9213.patch, NONE, 1.1 ogre-line-list-stencil-shadows-9342.patch, NONE, 1.1 ogre-modifiers-option-9283.patch, NONE, 1.1 ogre-multiple-contexts-GL-9202.patch, NONE, 1.1 ogre-no-empty-dropdowns-9269.patch, NONE, 1.1 ogre-vertex-split-poses-9195.patch, NONE, 1.1 ogre.spec, 1.55, 1.56
Bruno Wolff III
bruno at fedoraproject.org
Sat Nov 28 19:42:51 UTC 2009
Author: bruno
Update of /cvs/pkgs/rpms/ogre/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12704
Modified Files:
ogre.spec
Added Files:
ogre-NULL-fix-9337.patch
ogre-RenderQueueGroupID-doc-9196.patch
ogre-default-shadows-9213.patch
ogre-line-list-stencil-shadows-9342.patch
ogre-modifiers-option-9283.patch
ogre-multiple-contexts-GL-9202.patch
ogre-no-empty-dropdowns-9269.patch
ogre-vertex-split-poses-9195.patch
Log Message:
Get upstream fixes since 1.6.4 was released. This includes a few crash fixes.
ogre-NULL-fix-9337.patch:
OgreD3D9RenderWindow.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE ogre-NULL-fix-9337.patch ---
Index: RenderSystems/Direct3D9/src/OgreD3D9RenderWindow.cpp
===================================================================
--- RenderSystems/Direct3D9/src/OgreD3D9RenderWindow.cpp (revision 9336)
+++ RenderSystems/Direct3D9/src/OgreD3D9RenderWindow.cpp (revision 9337)
@@ -779,7 +779,7 @@
}
else
{
- hr = mpD3DDevice->Present( NULL, NULL, 0, NULL );
+ hr = mpD3DDevice->Present( NULL, NULL, NULL, NULL );
}
if( D3DERR_DEVICELOST == hr )
{
ogre-RenderQueueGroupID-doc-9196.patch:
OgreMovableObject.h | 3 ++-
OgreRenderQueue.h | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
--- NEW FILE ogre-RenderQueueGroupID-doc-9196.patch ---
Index: OgreMain/include/OgreMovableObject.h
===================================================================
--- OgreMain/include/OgreMovableObject.h (revision 9195)
+++ OgreMain/include/OgreMovableObject.h (revision 9196)
@@ -322,7 +322,8 @@
a 3D menu system or such.
@par
See RenderQueue for more details.
- @param queueID Enumerated value of the queue group to use.
+ @param queueID Enumerated value of the queue group to use. See the
+ enum RenderQueueGroupID for what kind of values can be used here.
*/
virtual void setRenderQueueGroup(uint8 queueID);
Index: OgreMain/include/OgreRenderQueue.h
===================================================================
--- OgreMain/include/OgreRenderQueue.h (revision 9195)
+++ OgreMain/include/OgreRenderQueue.h (revision 9196)
@@ -225,7 +225,8 @@
ushort getDefaultRenderablePriority(void) const;
/** Sets the current default queue group, which will be used for all renderable which do not
- specify which group they wish to be on.
+ specify which group they wish to be on. See the enum RenderQueueGroupID for what kind of
+ values can be used here.
*/
void setDefaultQueueGroup(uint8 grp);
ogre-default-shadows-9213.patch:
Shadows.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE ogre-default-shadows-9213.patch ---
Index: Samples/Shadows/src/Shadows.cpp
===================================================================
--- Samples/Shadows/src/Shadows.cpp (revision 9212)
+++ Samples/Shadows/src/Shadows.cpp (revision 9213)
@@ -1388,7 +1388,7 @@
switch(mat)
{
case MAT_STANDARD:
- mSceneMgr->setShadowTexturePixelFormat(PF_L8);
+ mSceneMgr->setShadowTexturePixelFormat(PF_X8R8G8B8);
mSceneMgr->setShadowTextureCasterMaterial(StringUtil::BLANK);
mSceneMgr->setShadowTextureReceiverMaterial(StringUtil::BLANK);
mSceneMgr->setShadowTextureSelfShadow(false);
ogre-line-list-stencil-shadows-9342.patch:
OgreEdgeListBuilder.cpp | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
--- NEW FILE ogre-line-list-stencil-shadows-9342.patch ---
Index: OgreMain/src/OgreEdgeListBuilder.cpp
===================================================================
--- OgreMain/src/OgreEdgeListBuilder.cpp (revision 9341)
+++ OgreMain/src/OgreEdgeListBuilder.cpp (revision 9342)
@@ -432,11 +432,14 @@
assert(triangleFaceNormals.size() == triangleLightFacings.size());
// Use optimised util to determine if triangle's face normal are light facing
- OptimisedUtil::getImplementation()->calculateLightFacing(
- lightPos,
- &triangleFaceNormals.front(),
- &triangleLightFacings.front(),
- triangleLightFacings.size());
+ if(!triangleFaceNormals.empty())
+ {
+ OptimisedUtil::getImplementation()->calculateLightFacing(
+ lightPos,
+ &triangleFaceNormals.front(),
+ &triangleLightFacings.front(),
+ triangleLightFacings.size());
+ }
}
//---------------------------------------------------------------------
void EdgeData::updateFaceNormals(size_t vertexSet,
ogre-modifiers-option-9283.patch:
ogrehelp/ogremeshesexporter.html | 12 ++++++------
ogremeshesexporter.py | 14 +++++++++++---
ogrepkg/meshexport.py | 12 ++++++++----
3 files changed, 25 insertions(+), 13 deletions(-)
--- NEW FILE ogre-modifiers-option-9283.patch ---
Index: Tools/BlenderExport/ogremeshesexporter.py
===================================================================
--- Tools/BlenderExport/ogremeshesexporter.py (revision 9282)
+++ Tools/BlenderExport/ogremeshesexporter.py (revision 9283)
@@ -24,7 +24,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
__author__ = 'Michael Reimpell (Maintainer: Lih-Hern Pang)'
-__version__ = '1.1'
+__version__ = '1.3'
__url__ = ["Help, http://www.ogre3d.org/phpBB2/search.php", "Ogre3D, http://www.ogre3d.org"]
__bpydoc__ = "Please see the external documentation that comes with the script."
@@ -1309,7 +1309,7 @@
for proxyManager in self.armatureAnimationProxyManagerDict.values():
proxyManager.savePackageSettings()
return
- def export(self, exportPath, exportMaterial, materialScriptName, customMaterial, customMaterialTplPath, colouredAmbient, gameEngineMaterials, exportMesh, fixUpAxis, skeletonUseMeshName, convertXML, copyTextures, requireFaceMats):
+ def export(self, exportPath, exportMaterial, materialScriptName, customMaterial, customMaterialTplPath, colouredAmbient, gameEngineMaterials, exportMesh, fixUpAxis, skeletonUseMeshName, applyModifiers, convertXML, copyTextures, requireFaceMats):
# create MaterialManager
if len(self.selectedList):
materialManager = MaterialManager(exportPath, materialScriptName, gameEngineMaterials, customMaterial, customMaterialTplPath, requireFaceMats)
@@ -1325,7 +1325,7 @@
if self.armatureAnimationProxyManagerDict.has_key(name):
self.armatureAnimationProxyManagerDict[name].toAnimations(meshExporter.getArmatureExporter())
# export
- meshExporter.export(exportPath, materialManager, fixUpAxis, exportMesh, colouredAmbient, convertXML)
+ meshExporter.export(exportPath, materialManager, fixUpAxis, exportMesh, colouredAmbient, applyModifiers, convertXML)
# export materials
if (exportMaterial):
materialManager.export(exportPath, materialScriptName, copyTextures)
@@ -1635,6 +1635,7 @@
self.copyTextures = ToggleModel(0)
self.requireFaceMats = ToggleModel(True)
self.skeletonUseMeshName = ToggleModel(1)
+ self.applyModifiers = ToggleModel(0)
matTglGrp = ToggleGroup()
matTglGrp.addToggle(self.renderingMaterial)
@@ -1709,6 +1710,8 @@
ToggleView(globalSettingLayout1, Size([Size.INFINITY, 20], [150, 20]), self.skeletonUseMeshName, T("Skeleton name follow mesh"), \
T("Use mesh name for the exported skeleton name instead of the armature name."))
globalSettingLayout2 = HorizontalLayout(globalSettingLayout)
+ ToggleView(globalSettingLayout2, Size([Size.INFINITY, 20], [150, 20]), self.applyModifiers, T("Apply Modifiers"), \
+ T("Apply mesh modifier before export. This option is slow and may break vert order for morph targets."))
ToggleView(globalSettingLayout2, Size([Size.INFINITY, 20], [100, 20]), self.convertXML, T("OgreXMLConverter"), \
T("Run OgreXMLConverter on the exported XML files."))
## buttons
@@ -1778,6 +1781,9 @@
skeletonUseMeshName = PackageSettings.getSingleton().getSetting('skeletonUseMeshName')
if skeletonUseMeshName is not None:
self.skeletonUseMeshName.setValue(skeletonUseMeshName)
+ applyModifiers = PackageSettings.getSingleton().getSetting('applyModifiers')
+ if applyModifiers is not None:
+ self.applyModifiers.setValue(applyModifiers)
convertXML = PackageSettings.getSingleton().getSetting('convertXML')
if convertXML is not None:
self.convertXML.setValue(convertXML)
@@ -1798,6 +1804,7 @@
PackageSettings.getSingleton().setSetting('exportMesh', self.exportMesh.getValue())
PackageSettings.getSingleton().setSetting('fixUpAxis', self.fixUpAxis.getValue())
PackageSettings.getSingleton().setSetting('skeletonUseMeshName', self.skeletonUseMeshName.getValue())
+ PackageSettings.getSingleton().setSetting('applyModifiers', self.applyModifiers.getValue())
PackageSettings.getSingleton().setSetting('convertXML', self.convertXML.getValue())
PackageSettings.getSingleton().setSetting('exportPath', self.exportPath.getValue())
PackageSettings.getSingleton().save()
@@ -1873,6 +1880,7 @@
self.app.exportMesh.getValue(), \
self.app.fixUpAxis.getValue(), \
self.app.skeletonUseMeshName.getValue(), \
+ self.app.applyModifiers.getValue(), \
self.app.convertXML.getValue(), \
self.app.copyTextures.getValue(), \
self.app.requireFaceMats.getValue(), \
Index: Tools/BlenderExport/ogrehelp/images/meshesexporter.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Tools/BlenderExport/ogrehelp/ogremeshesexporter.html
===================================================================
--- Tools/BlenderExport/ogrehelp/ogremeshesexporter.html (revision 9282)
+++ Tools/BlenderExport/ogrehelp/ogremeshesexporter.html (revision 9283)
@@ -194,9 +194,15 @@
<dt>Fix Up Axis to Y</dt>
<dd>Blender uses Z as up axis. This toggle switch allows changing the mesh to use Y as up axis.</dd>
+ <dt>Require Materials</dt>
+ <dd>Generate Error message when part of a mesh is not assigned with a material.</dd>
+
<dt>Skeleton name follow mesh</dt>
<dd>Force skeleton name to follow mesh name. Uncheck to make it use armature name instead.</dd>
+ <dt>Apply Modifiers</dt>
+ <dd>Apply mesh modifiers before export. This option is slow and may break vert order for morph targets. Not recommended for animated meshes.</dd>
+
<dt>OgreXMLConverter</dt>
<dd>Convert the XML files to binary files via the OgreXMLConverter. The exporter must be able to find the converter executable. You can specify its location in the preferences.</dd>
@@ -465,12 +471,6 @@
<li>[textureName]._tex_address_mode</li>
<li>[textureName]._filtering</li>
<li>[textureName]._colour_op</li>
- <li>[textureName]._sizeX</li>
- <li>[textureName]._sizeY</li>
- <li>[textureName]._sizeZ</li>
- <li>[textureName]._offsetX</li>
- <li>[textureName]._offsetY</li>
- <li>[textureName]._offsetZ</li>
</ul>
<p>
Index: Tools/BlenderExport/ogrepkg/meshexport.py
===================================================================
--- Tools/BlenderExport/ogrepkg/meshexport.py (revision 9282)
+++ Tools/BlenderExport/ogrepkg/meshexport.py (revision 9283)
@@ -858,7 +858,7 @@
# populated on export
self.submeshManager = None
return
- def export(self, dir, materialManager, fixUpAxis=True, exportMesh=True, colouredAmbient=False, convertXML=False):
+ def export(self, dir, materialManager, fixUpAxis=True, exportMesh=True, colouredAmbient=False, applyModifiers=False, convertXML=False):
# leave editmode
editmode = Blender.Window.EditMode()
if editmode:
@@ -871,7 +871,7 @@
self.armatureExporter.export(dir, fixUpAxis, convertXML)
## export meshdata
- self._generateSubmeshes(fixUpAxis, materialManager, colouredAmbient, exportMesh)
+ self._generateSubmeshes(fixUpAxis, materialManager, colouredAmbient, applyModifiers, exportMesh)
if exportMesh:
## export vertex animations
@@ -895,11 +895,15 @@
return self.armatureExporter
def getSubmeshManager(self):
return self.submeshManager
- def _generateSubmeshes(self, fixUpAxis, materialManager, colouredAmbient, exportMesh):
+ def _generateSubmeshes(self, fixUpAxis, materialManager, colouredAmbient, applyModifiers, exportMesh):
"""Generates submeshes of the mesh.
"""
#NMesh# Blender.Mesh.Mesh does not provide access to mesh shape keys, use Blender.NMesh.NMesh
- bMesh = self.bObject.getData(mesh=True)
+ if applyModifiers:
+ bMesh = Blender.Mesh.New('tmp')
+ bMesh.getFromObject(self.bObject)
+ else:
+ bMesh = self.bObject.getData(mesh=True)
self.submeshManager = SubmeshManager(bMesh, fixUpAxis, self.armatureExporter)
for bMFace in bMesh.faces:
faceMaterial = materialManager.getMaterial(bMesh, bMFace, colouredAmbient, self.name)
ogre-multiple-contexts-GL-9202.patch:
OgreGLRenderSystem.cpp | 11 +++++++++++
1 file changed, 11 insertions(+)
--- NEW FILE ogre-multiple-contexts-GL-9202.patch ---
Index: RenderSystems/GL/src/OgreGLRenderSystem.cpp
===================================================================
--- RenderSystems/GL/src/OgreGLRenderSystem.cpp (revision 9201)
+++ RenderSystems/GL/src/OgreGLRenderSystem.cpp (revision 9202)
@@ -3259,6 +3259,17 @@
if (mCurrentFragmentProgram)
mCurrentFragmentProgram->unbindProgram();
+ // Disable lights
+ for (unsigned short i = 0; i < mCurrentLights; ++i)
+ {
+ setGLLight(i, NULL);
+ mLights[i] = NULL;
+ }
+ mCurrentLights = 0;
+
+ // Disable textures
+ _disableTextureUnitsFrom(0);
+
// It's ready to switching
if (mCurrentContext)
mCurrentContext->endCurrent();
ogre-no-empty-dropdowns-9269.patch:
OgreConfigDialog.cpp | 6 ++++++
1 file changed, 6 insertions(+)
--- NEW FILE ogre-no-empty-dropdowns-9269.patch ---
Index: OgreMain/src/GLX/OgreConfigDialog.cpp
===================================================================
--- OgreMain/src/GLX/OgreConfigDialog.cpp (revision 9268)
+++ OgreMain/src/GLX/OgreConfigDialog.cpp (revision 9269)
@@ -427,6 +427,12 @@
// Process each option and create an optionmenu widget for it
for (ConfigOptionMap::iterator it = options.begin();
it != options.end(); it++) {
+ // if the config option does not have any possible value, then skip it.
+ // if we create a popup with zero entries, it will crash when you click
+ // on it.
+ if (it->second.possibleValues.empty())
+ continue;
+
Widget lb1 = XtVaCreateManagedWidget("topLabel", labelWidgetClass, box, XtNlabel, it->second.name.c_str(), XtNborderWidth, 0,
XtNwidth, col1w, // Fixed width
XtNheight, 18,
ogre-vertex-split-poses-9195.patch:
OgreMesh.cpp | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
--- NEW FILE ogre-vertex-split-poses-9195.patch ---
Index: OgreMain/src/OgreMesh.cpp
===================================================================
--- OgreMain/src/OgreMesh.cpp (revision 9194)
+++ OgreMain/src/OgreMesh.cpp (revision 9195)
@@ -1245,7 +1245,31 @@
}
}
+ }
+ // Update poses (some vertices might have been duplicated)
+ // we will just check which vertices have been split and copy
+ // the offset for the original vertex to the corresponding new vertex
+ PoseIterator pose_it = getPoseIterator();
+
+ while( pose_it.hasMoreElements() )
+ {
+ Pose* current_pose = pose_it.getNext();
+ const Pose::VertexOffsetMap& offset_map = current_pose->getVertexOffsets();
+
+ for( TangentSpaceCalc::VertexSplits::iterator it = res.vertexSplits.begin();
+ it != res.vertexSplits.end(); ++it )
+ {
+ TangentSpaceCalc::VertexSplit& split = *it;
+
+ Pose::VertexOffsetMap::const_iterator found_offset = offset_map.find( split.first );
+
+ // copy the offset
+ if( found_offset != offset_map.end() )
+ {
+ current_pose->addVertex( split.second, found_offset->second );
+ }
+ }
}
}
}
Index: ogre.spec
===================================================================
RCS file: /cvs/pkgs/rpms/ogre/F-12/ogre.spec,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -p -r1.55 -r1.56
--- ogre.spec 25 Nov 2009 05:00:25 -0000 1.55
+++ ogre.spec 28 Nov 2009 19:42:51 -0000 1.56
@@ -1,6 +1,6 @@
Name: ogre
Version: 1.6.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Object-Oriented Graphics Rendering Engine
# LGPLv2+ with exceptions - main library
# CC-BY-SA - devel docs
@@ -24,6 +24,14 @@ Patch1: ogre-1.6.0rc1-glew.patch
Patch2: ogre-1.6.4-system-tinyxml.patch
Patch3: ogre-1.6.1-fix-ppc-build.patch
Patch4: ogre-renderer-libs.patch
+Patch5: ogre-vertex-split-poses-9195.patch
+Patch6: ogre-RenderQueueGroupID-doc-9196.patch
+Patch7: ogre-multiple-contexts-GL-9202.patch
+Patch8: ogre-default-shadows-9213.patch
+Patch9: ogre-no-empty-dropdowns-9269.patch
+Patch10: ogre-modifiers-option-9283.patch
+Patch11: ogre-NULL-fix-9337.patch
+Patch12: ogre-line-list-stencil-shadows-9342.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cegui-devel zziplib-devel freetype-devel
BuildRequires: libXaw-devel libXrandr-devel libXxf86vm-devel libGLU-devel
@@ -81,6 +89,14 @@ with the wrapper script called "Ogre-Sam
%patch2 -p1 -z .sys-tinyxml
%patch3 -p1 -z .ppc
%patch4 -p1
+%patch5
+%patch6
+%patch7
+%patch8
+%patch9
+%patch10
+%patch11
+%patch12
# remove execute bits from src-files for -debuginfo package
chmod -x `find RenderSystems/GL -type f` \
`find Samples/DeferredShading -type f` Samples/DynTex/src/DynTex.cpp
@@ -219,6 +235,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Nov 28 2009 Bruno Wolff III <bruno at wolff.to> - 1.6.4-3
+- Get upstream fixes since 1.6.4 release. This includes a couple of crash bugs.
+
* Tue Nov 24 2009 Bruno Wolff III <bruno at wolff.to> - 1.6.4-2
- Allow CEGIUOgreRenderer to find needed libraries
- Spec file cleanups
More information about the fedora-extras-commits
mailing list