OgrePostFilterManager r25

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

OgrePostFilterManager r25

Post by Manuel » Sun Jul 24, 2005 1:38 pm

[update]
OgrePostFilterManager r25
[/update]

Well, it's time to release it!
I added a not-so-new postfilter effects, the motion blur, directly ported to Ogre from the ATI RenderMonkey examples, it's pretty good indeed, but i've no time to take some snapshot, so, i'll eventually insert some screenshots later.
Pickup your copy here and start writing some cool shaders!

[edit]
I forgot to mention that i'm using Ogre v1.0.3, i downloaded the sources, built and then added a method to the rendersystem:

Code: Select all

		typedef MapIterator<Ogre::RenderTargetMap> RenderTargetIterator;

		/** Returns a specialised MapIterator over all render targets attached to the RenderSystem. */
		RenderTargetIterator getRenderTargetIterator(void) {
			return RenderTargetIterator( mRenderTargets.begin(), mRenderTargets.end() );
		}
No other modifications needed, so still Azathoth 8)
[/edit]

oh, here the screenshots :D

Image
Image
Image
Image
Last edited by Manuel on Sat Aug 13, 2005 12:35 pm, edited 5 times in total.
0 x

User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
Contact:

Post by jacmoe » Sun Jul 24, 2005 1:41 pm

Dagon or Azathoth? :)
0 x
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.

User avatar
SuprChikn
Bugbear
Posts: 863
Joined: Tue Apr 19, 2005 6:10 am
Location: Melbourne, Aus
Contact:

Post by SuprChikn » Sun Jul 24, 2005 4:25 pm

@jacmoe: as he said in his addition with an edit: Azathoth.

Looking very nice.
0 x

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 4:29 pm

yes ;) i forgot to reply ;-\
0 x

User avatar
Aklix
Goblin
Posts: 222
Joined: Mon Dec 27, 2004 5:21 am
Contact:

Post by Aklix » Sun Jul 24, 2005 4:33 pm

I love the bloom postfilther, but those triangle counts are crazy (the randomness moreso)
0 x

Tyn
Gremlin
Posts: 195
Joined: Mon Jul 19, 2004 11:40 pm
Location: England
Contact:

Post by Tyn » Sun Jul 24, 2005 4:38 pm

Yeah, I agree this seems cool, but unfortunatly the source hasn't got the OgrePostFilterManager files. Deliberatly held back or mistakenly missed out?
0 x
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams

http://www.spacecolonization.net
2080: Space Colonization

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 4:39 pm

Tyn wrote:Yeah, I agree this seems cool, but unfortunatly the source hasn't got the OgrePostFilterManager files. Deliberatly held back or mistakenly missed out?
OOOOOOOOOPS!!!! I FORGOT TO INCLUDE THEM!!!!!
Download has been corrected!
Last edited by Manuel on Sun Jul 24, 2005 4:41 pm, edited 1 time in total.
0 x

supersuper
Greenskin
Posts: 114
Joined: Wed Feb 11, 2004 5:41 pm
Location: England!

Post by supersuper » Sun Jul 24, 2005 4:40 pm

You have not included OgrePostFilterManager.h hence the program wont compile.

Also, where do u add the new code to OGRE?

Nice screenies... :)
0 x

supersuper
Greenskin
Posts: 114
Joined: Wed Feb 11, 2004 5:41 pm
Location: England!

Post by supersuper » Sun Jul 24, 2005 4:41 pm

supersuper wrote:You have not included OgrePostFilterManager.h hence the program wont compile.

Also, where do u add the new code to OGRE?

Nice screenies... :)
EDIT: While I wrote this, u noticed.
0 x

Tyn
Gremlin
Posts: 195
Joined: Mon Jul 19, 2004 11:40 pm
Location: England
Contact:

Post by Tyn » Sun Jul 24, 2005 4:43 pm

Manuel wrote:
Tyn wrote:Yeah, I agree this seems cool, but unfortunatly the source hasn't got the OgrePostFilterManager files. Deliberatly held back or mistakenly missed out?
OOOOOOOOOPS!!!! I FORGOT TO INCLUDE THEM!!!!!
Download has been corrected!
hahah, don't worry, we all miss stuff. Nice job :)
0 x
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams

http://www.spacecolonization.net
2080: Space Colonization

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 4:43 pm

Aklix wrote:I love the bloom postfilther, but those triangle counts are crazy (the randomness moreso)
It's correct, because the whole scene has not to be rendered, you are seeing a fullscreen quad.. also, the triangle counter should count much lower ;-\
0 x

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 4:45 pm

supersuper wrote:
supersuper wrote:You have not included OgrePostFilterManager.h hence the program wont compile.

Also, where do u add the new code to OGRE?

Nice screenies... :)
EDIT: While I wrote this, u noticed.
Eheh ;) I'm crazy today :P
Anyway, pickup your "OgreRenderSystem.h", go to the end to the file, then scroll up, add lines of code in order to make it so:

Code: Select all

        virtual Real getMaximumDepthInputValue(void) = 0;

		typedef MapIterator<Ogre::RenderTargetMap> RenderTargetIterator;

		/** Returns a specialised MapIterator over all render targets attached to the RenderSystem. */
		RenderTargetIterator getRenderTargetIterator(void) {
			return RenderTargetIterator( mRenderTargets.begin(), mRenderTargets.end() );
		}

    protected:
0 x

Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 988
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 12
Contact:

Post by Crashy » Sun Jul 24, 2005 4:49 pm

It's me or there are some files missing in the archive? :oops:
OgrePostFilterManager.h for instance.
0 x
Follow la Moustache on Twitter or on Facebook
Image

Tyn
Gremlin
Posts: 195
Joined: Mon Jul 19, 2004 11:40 pm
Location: England
Contact:

Post by Tyn » Sun Jul 24, 2005 4:50 pm

Manuel wrote:
Tyn wrote:Yeah, I agree this seems cool, but unfortunatly the source hasn't got the OgrePostFilterManager files. Deliberatly held back or mistakenly missed out?
OOOOOOOOOPS!!!! I FORGOT TO INCLUDE THEM!!!!!
Download has been corrected!
*ahem* ;)
0 x
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams

http://www.spacecolonization.net
2080: Space Colonization

Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 988
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 12
Contact:

Post by Crashy » Sun Jul 24, 2005 4:52 pm

Oh, damn, this topic is growing up too quickly :lol:
0 x
Follow la Moustache on Twitter or on Facebook
Image

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 5:09 pm

Crashy wrote:It's me or there are some files missing in the archive? :oops:
OgrePostFilterManager.h for instance.
Uhm.. i just tried the uploaded files, all files are there!
0 x

supersuper
Greenskin
Posts: 114
Joined: Wed Feb 11, 2004 5:41 pm
Location: England!

Post by supersuper » Sun Jul 24, 2005 5:20 pm

I wont be able to try till tonight since I need to go to work and the ogre.sln is being built again to incorporate manuel's changes.
0 x

Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 988
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 12
Contact:

Post by Crashy » Sun Jul 24, 2005 5:24 pm

I didn't take time to look at the sample attentively, but can you give an easy way to implement this. Like here
http://www.ogre3d.org/phpBB2/viewtopic.php?t=12103
:)
0 x
Follow la Moustache on Twitter or on Facebook
Image

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 5:32 pm

Crashy wrote:I didn't take time to look at the sample attentively, but can you give an easy way to implement this. Like here
http://www.ogre3d.org/phpBB2/viewtopic.php?t=12103
:)
i think i don't understand, are you saying you have problems with the code?!
0 x

supersuper
Greenskin
Posts: 114
Joined: Wed Feb 11, 2004 5:41 pm
Location: England!

Post by supersuper » Sun Jul 24, 2005 5:38 pm

Managed to run it just now.... looks gorgeous!

I thought of some more filters I want to try.

Manuel, there is one problem with the bloom effect. The top left triangle of the rectangle2d quad is visible.

The others have no errors or artifacts.
0 x

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 5:42 pm

can you post a screenshot?! for me its workin.. :shock:
0 x

Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 988
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 12
Contact:

Post by Crashy » Sun Jul 24, 2005 5:44 pm

I just say that the sample postfilter.cpp is complex at first look, if you have a part of code just to implement a postfilter it will be easiest to understand, but if you don't that's not a problem, I'll find myself :)
0 x
Follow la Moustache on Twitter or on Facebook
Image

supersuper
Greenskin
Posts: 114
Joined: Wed Feb 11, 2004 5:41 pm
Location: England!

Post by supersuper » Sun Jul 24, 2005 5:49 pm

I've got no ftp space at the moment, so I've added you to my msn... please accept me and I'll send the pic.

EDIT: am showing u via msn.
0 x

Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 988
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 12
Contact:

Post by Crashy » Sun Jul 24, 2005 6:14 pm

OK I've found the right parts of code :) .
Just get linking errors from this code

Code: Select all

iPfManager = new OgrePostFilterManager( mRoot, mWindow, mSceneMgr,  rootNode, mCamera );
      SharedData::getSingleton().iPfManager = iPfManager;

      
      iHeatVisionPf = new HeatVisionPf();
      

      iHeatVisionPf->setObserver( iHeatVisionPf );

      iPfManager->setPostFilter( iHeatVisionPf );
      SharedData::getSingleton().iActiveFilter = iHeatVisionPf;

      SharedData::getSingleton().iFilters.push_back( iHeatVisionPf );
      

the link error(I'm under visual 7.0)

antharia.obj : error LNK2001: unresolved external symbol "public: void __thiscall OgrePostFilterManager::setPostFilter(class OgrePostFilter *)" (?setPostFilter@OgrePostFilterManager@@QAEXPAVOgrePostFilter@@@Z)
antharia.obj : error LNK2001: unresolved external symbol "public: __thiscall OgrePostFilterManager::OgrePostFilterManager(class Ogre::Root *,class Ogre::RenderWindow *,class Ogre::SceneManager *,class Ogre::SceneNode *,class Ogre::Camera *)" (??0OgrePostFilterManager@@QAE@PAVRoot@Ogre@@PAVRenderWindow@2@PAVSceneManager@2@PAVSceneNode@2@PAVCamera@2@@Z)
antharia.obj : error LNK2001: unresolved external symbol "public: __thiscall OgrePostFilterPass::OgrePostFilterPass(class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> > const &)" (??0OgrePostFilterPass@@QAE@ABV?$basic_string@DV?$char_traits@D@_STL@@V?$allocator@D@2@@_STL@@@Z)
antharia.obj : error LNK2001: unresolved external symbol "protected: class Ogre::RenderTexture * __thiscall OgrePostFilter::createRenderTexture(unsigned int,unsigned int,enum Ogre::TextureType,enum Ogre::PixelFormat,class _STL::map<class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> >,class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> >,struct _STL::less<class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> > >,class _STL::allocator<struct _STL::pair<class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> > const ,class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> > > > > const *,bool)" (?createRenderTexture@OgrePostFilter@@IAEPAVRenderTexture@Ogre@@IIW4TextureType@3@W4PixelFormat@3@PBV?$map@V?$basic_string@DV?$char_traits@D@_STL@@V?$allocator@D@2@@_STL@@V12@U?$less@V?$basic_string@DV?$char_traits@D@_STL@@V?$allocator@D@2@@_STL@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DV?$char_traits@D@_STL@@V?$allocator@D@2@@_STL@@V12@@_STL@@@2@@_STL@@_N@Z)
antharia.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall OgrePostFilter::~OgrePostFilter(void)" (??1OgrePostFilter@@UAE@XZ)
antharia.obj : error LNK2001: unresolved external symbol "public: __thiscall OgrePostFilter::OgrePostFilter(class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> > const &)" (??0OgrePostFilter@@QAE@ABV?$basic_string@DV?$char_traits@D@_STL@@V?$allocator@D@2@@_STL@@@Z)
0 x
Follow la Moustache on Twitter or on Facebook
Image

User avatar
Manuel
Gremlin
Posts: 193
Joined: Sat Apr 17, 2004 9:35 pm
Contact:

Post by Manuel » Sun Jul 24, 2005 6:16 pm

have you redownloaded the whole archive?! you should find an "OgrePostFilter" folder inside it, is there?!
0 x

Post Reply