Transporter
24-01-2013 19:11:05
Hi,
I'll list all my patches in this thread.
- Rename LUA_DIR to LUA_HOME to make it conform to the other CMake scripts of OGRE[/*:m]
- Move FindFreetype to main CMake script, so only one search is required now[/*:m]
- Add getPointCount() to Procedural::Shape to get the size of the point list[/*:m]
- Fix typo in triangulator api doc[/*:m]
- Fix warning in triangulator because there was a return value missing[/*:m]
- Fix signed-unsigned-warning in font searching function[/*:m]
- Add TextShape (ProceduralMultiShapeGenerators) to create a shape collection from a text (can extrued to a 3d text mesh)[/*:m][/list:u]
https://dl.dropbox.com/s/0rvrpoidk8tul4 ... patch?dl=1
mikachu
25-01-2013 22:05:50
Thanks, I applied it
By the way, could you create your own public clone, then issue pull requests? (there's a
command for this)
It's a bit easier to track and less error prone than patches.
Transporter
25-01-2013 22:26:36
Thanks, I applied it
By the way, could you create your own public clone, then issue pull requests? (there's a command for this)
It's a bit easier to track and less error prone than patches.
You're welcome! I'll try a clone. You're right, that's more comfortable.
Transporter
27-01-2013 18:36:21
I've created a new patch and commited it to my clone. What I have to do now?
- Update FindOGRE to detect GL3+ rendering subsystem (https://ogre3d.atlassian.net/browse/OGRE-133).[/*:m]
- Update configuration templates for DirectX and GL rendering subsystems.[/*:m]
- Update illustrations to use first available rendering subsystem instead of GL.[/*:m][/list:u]
mikachu
29-01-2013 14:28:41
Oops, looks like I don't receive forum post notifications anymore...
What I have to do now?
Just letting me know when you have some changes in your clone that have to be pulled (a post in this thread is fine)
Transporter
17-02-2013 20:09:38
Maybe it is a good idea to move to bitbucket. I can create pull requests there.
mikachu
22-02-2013 08:58:45
mikachu
22-06-2013 11:59:41
Transporter
23-06-2013 15:41:40
About your previous patch, I don't understand why you set /Zm256, since the default value is /Zm1000 ? (VS2012 express x64 here..)
The default value here is /Zm100 (VS 2010 Pro). If you like you can set it to /Zm1000.
Klaim
10-07-2013 18:12:22
I just installed DoxyGen for the first time on my laptop and I got an error because apparently in my CMake-based dependency projects of my game, there are several which generate a 'doc' target. As it's the same name for several targets, it generate an error.
So I cloned the repo, and added to changes:
- an option to NOT generate the doc target (set to TRUE for retro-compatibility):
https://bitbucket.org/klaim/ogre-proced ... 364458cc54
- I changed the target name to OgreProceduralDoc to avoid collision and also to make it more obvious in the generated solution (I have all my dependencies targets visible in my solution and I don't want doc generation targets):
https://bitbucket.org/klaim/ogre-proced ... 4f604a2bc3
You can get both from
my clone.
EDIT: looks like the modified code was inspired by Ogre, I got the 'doc' target from there too. I'll also provide a change to add a prefix to the Illustration target in OgreProcedural and make it optional.
EDIT2: here is the patch for Ogre, basically the same changes:
https://bitbucket.org/sinbad/ogre/pull- ... matically/
EDIT3: also renamed Illustrations target to OgreProceduralIllustrations to avoid collision again.
EDIT4: my change for Ogre has already been merged.
Transporter
13-07-2013 01:51:40
drwbns
15-07-2013 02:12:56
I'm somehow getting this error working with Ogre 1.9 latest - OgreProcedural builds fine.
error LNK2019: unresolved external symbol "public: class Ogre::MeshPtr __thiscall Procedural::TriangleBuffer::transformToMesh(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?transformToMesh@TriangleBuffer@Procedural@@QBE?AVMeshPtr@Ogre@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z)
Klaim
15-07-2013 09:44:11
When Ogre is configured to use TBB for threading, OgreProcedural don't add the TBB include directories. Ogre does this by calling include_directories( ${TBB_INCLUDE_DIRS} ) once TBB have been found, so I guess you could add the same?
drwbns
15-07-2013 09:51:30
I'm not using TBB, using default Boost config.
Klaim
15-07-2013 09:59:44
I'm not using TBB, using default Boost config.
Sorry I wasn't replying to you, just suggesting an unrelated quick fix (I didn't provide a patch myself). It's the patch thread.
mikachu
15-07-2013 10:35:17
I'm somehow getting this error working with Ogre 1.9 latest - OgreProcedural builds fine.
error LNK2019: unresolved external symbol "public: class Ogre::MeshPtr __thiscall Procedural::TriangleBuffer::transformToMesh(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?transformToMesh@TriangleBuffer@Procedural@@QBE?AVMeshPtr@Ogre@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z)
Do you get that error when building an app against Ogre+OgreProcedural?
Are the libs and dlls coming from the same revision?
mikachu
15-07-2013 10:40:17
When Ogre is configured to use TBB for threading, OgreProcedural don't add the TBB include directories. Ogre does this by calling include_directories( ${TBB_INCLUDE_DIRS} ) once TBB have been found, so I guess you could add the same?
It should not be required, because, as you can see in FindOgre.cmake :
if (OGRE_CONFIG_THREADS)
if (OGRE_CONFIG_THREAD_PROVIDER EQUAL 1)
find_package(Boost COMPONENTS thread QUIET)
if (NOT Boost_THREAD_FOUND)
set(OGRE_DEPS_FOUND FALSE)
else ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${Boost_LIBRARIES})
set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
endif ()
elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 2)
find_package(POCO QUIET)
if (NOT POCO_FOUND)
set(OGRE_DEPS_FOUND FALSE)
else ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${POCO_LIBRARIES})
set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${POCO_INCLUDE_DIRS})
endif ()
elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 3)
find_package(TBB QUIET)
if (NOT TBB_FOUND)
set(OGRE_DEPS_FOUND FALSE)
else ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${TBB_LIBRARIES})
set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS})
endif ()
endif ()
endif ()
then OGRE_INCLUDE_DIRS and OGRE_LIBRARIES are used everywhere in OgreProcedural...
Klaim
15-07-2013 10:55:41
Indeed! I think it's because in my setup I have overloaded OGRE_INCLUDE_DIRS (for some reasons specific to my context). I'll fix this on my side, thanks.
EDIT> Actually no, the problem is because I'm using Ogre sources and in this case something is messed up( like OGRE_INCLUDE_DIRS isn't defined for some obscure reasons for both for Ogre and OgreProcedural). I'll try to identify the source of the issue later.
drwbns
15-07-2013 14:56:22
Ah yeah, that was it, I linked against 2 different Ogre's. I thought I checked for that but oh well
thanks. Unfortunetly I still get the crash I posted in this post -
http://www.ogre3d.org/forums/viewtopic. ... 82#p492613 and I get a slew of link errors when trying to link against latest Ogre 1.8, is OgreProcedural Ogre 1.8 friendly?
Transporter
17-07-2013 12:25:31
is OgreProcedural Ogre 1.8 friendly?
It is working with Ogre 1.9.0 and should work with 1.8.x.
drwbns
21-07-2013 03:24:54
I'm somehow getting this error working with Ogre 1.9 latest - OgreProcedural builds fine.
error LNK2019: unresolved external symbol "public: class Ogre::MeshPtr __thiscall Procedural::TriangleBuffer::transformToMesh(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?transformToMesh@TriangleBuffer@Procedural@@QBE?AVMeshPtr@Ogre@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z)
Do you get that error when building an app against Ogre+OgreProcedural?
Are the libs and dlls coming from the same revision?
I'm getting this error when linking with Ogre 1.8 from repo now. I've double checked that both my app and OgreProcedural are linking against the same Ogre 1.8 libs. Dll files should have nothing to do with the linking error right?
UPDATE: 1.8 from main Ogre3d.org source page works just fine. Why is the repo busted for me?
Transporter
02-11-2013 17:22:06
mikachu
06-12-2013 14:10:58
Transporter
08-12-2013 23:22:07
Sorry for the long delay, I finally merged it.
It's ok, I used my locale repository
Btw, could you copy FindFreetype.cmake from Ogre to ogre-procedural? There is a new version available and also a small change to detect freetype headers in the new folder structure.
Transporter
12-01-2014 14:24:12
Transporter
22-02-2014 11:18:47
mikachu
19-03-2014 08:05:56
I finally merged your changes.
Sorry for the long delay, I've had very little time for open source developpement these days...
@Transporter : I've granted you commit access on the main repository, to reduce such delays in the future
mikachu
20-03-2015 09:03:12