Hydrax v0.4 - New version released + Editor!

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Locked
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Post by spookyboo »

Xavyiy, Just downloaded the decal video. Looks very good.
I think its great that you focus on just one thing (water) and trying to improve it (quality over quantity)
Akle
Gnoblar
Posts: 4
Joined: Thu Apr 17, 2008 12:45 am

Post by Akle »

Hello,

I tried to compile hydrax and the demo but i've got two bugs when i run it.
there is a screenshot :
Image


When i rotate the camera, there is a little delay before the water that was out of screen is shown. And the window where we usually see the fps only shows strange characters. (it's hard to explain, sorry for my english)

I used code::blocks with MinGW on Windows xp and Ogre 1.4.7 SDK. The file "hydrax.cpp" was twice in the c::b project so i removed one of them from the project to build it. It is the only change i made to the project.

I'm new to Ogre so i guess i've done something wrong but i don't see what :/

anyway this water is really amazing, nice work!
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

@Akle
Read this: http://www.ogre3d.org/phpBB2/viewtopic. ... xt+problem
It's a non Hydrax concerned problem.
EDIT: You are not using the demo project included with hydrax, true?

@spookyboo
Sure, but decals are important to use the plugin in games or similar things.

@Cobra8472
I've seen the code and it seems to be correct, run with the debugger and post the call stack.
Last edited by Xavyiy on Thu Apr 17, 2008 8:59 pm, edited 1 time in total.
Cobra8472
Halfling
Posts: 83
Joined: Thu Jun 02, 2005 4:44 pm

Post by Cobra8472 »

Code: Select all


>	Hydrax.dll!Hydrax::Hydrax::update(const float & timeSinceLastFrame=0.00000000)  Line 564 + 0x3 bytes	C++
 	Engine.exe!WaterFrameListener::frameStarted(const Ogre::FrameEvent & evt={...})  Line 29 + 0x18 bytes	C++
 	OgreMain_d.dll!10cb1a46() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for OgreMain_d.dll]	
 	OgreMain_d.dll!10cb20d2() 	
 	OgreMain_d.dll!10cb26cb() 	
 	OgreMain_d.dll!10cb2641() 	
 	Engine.exe!ExampleApplication::go()  Line 86 + 0xe bytes	C++
 	Engine.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x0016261e, HINSTANCE__ * __formal=0x00000000)  Line 44 + 0x8 bytes	C++
 	Engine.exe!__tmainCRTStartup()  Line 589 + 0x35 bytes	C
 	Engine.exe!WinMainCRTStartup()  Line 414	C
 	kernel32.dll!76453833() 	
 	ntdll.dll!776ba9bd() 	




Btw; I have the same issue with the water being clipped when turning the camera, I'm using VS2005

Thanks for taking the time Xaviviy, and great work on the decals!
Akle
Gnoblar
Posts: 4
Joined: Thu Apr 17, 2008 12:45 am

Post by Akle »

the strange characters bug was from a bad installation of c::b and mingw, thanks and sorry for that question :/

I still have the issue when turning the camera.
I'm using the demo project included with hydrax, the only modification i've done is removing one of the two "hydrax.cpp" of the project and adding the hydrax.dll's directory in the search directories for the linker.

I noticed i've got several Ogre Exceptions in the Ogre.log, here they are:

Code: Select all

03:54:16: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Reflection in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: Error loading texture Reflection. Texture layer will be blank. Loading the texture failed with the following exception: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Reflection in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Refraction in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: Error loading texture Refraction. Texture layer will be blank. Loading the texture failed with the following exception: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Refraction in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Depth in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: Error loading texture Depth. Texture layer will be blank. Loading the texture failed with the following exception: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Depth in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource HydraxReflectionMap in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: Error loading texture HydraxReflectionMap. Texture layer will be blank. Loading the texture failed with the following exception: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource HydraxReflectionMap in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource HydraxRefractionMap in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: Error loading texture HydraxRefractionMap. Texture layer will be blank. Loading the texture failed with the following exception: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource HydraxRefractionMap in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource HydraxDepthMap in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
03:54:16: Error loading texture HydraxDepthMap. Texture layer will be blank. Loading the texture failed with the following exception: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource HydraxDepthMap in resource group Hydrax or any other group. in ResourceGroupManager::openResource at D:\ogre-win32-v1-4-7\OgreMain\src\OgreResourceGroupManager.cpp (line 604)
I don't know if these exceptions have an impact on the demo or not
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Post by spookyboo »

Sure, but decals are important to use the plugin in games or similar things.
That is what I meant. What I trying to say is that there are several projects that entirely forcus on Sky, Terrain, Vegetation, GUI, Particles ( :wink: ) or Water. The quality of the plugins is getting better and better.
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

@Akle
Mmm.. do you experiment the same camera delay using the precompiled demo example? Or just when you run your own binary?

@spookyboo
Sorry for my interpretation, my Engish is very little.. !

Xavi.

P.D.: Probably tomorrow I'm going to release the 0.3 version, but without the editor, next release will be the 0.3.1 with the editor and some bugfixes, but any new feature. After that, the development will follow the usual roadmap 0.4, 0.5, etc...
MessiahAndrw
Gnoblar
Posts: 24
Joined: Thu Jun 28, 2007 2:29 pm

Post by MessiahAndrw »

I fixed the problem I had earlier of the water drawing on top of everything by setting my other objects to render queue groups >90. :) I don't know if this solved the problem or if I'm simply hiding it and going to run into more issues further on.

Anyway, my next problem is regarding materials of other objects.

I have followed the initialisation of the Hydrax instance as in the demo application (the only changes have been to sun colour/position but I have tried the demo settings and that does not make a difference). Without a depth component (see the following code snippet)...

Code: Select all

m_hydrax->setComponents(
			static_cast<Hydrax::HydraxComponent>(Hydrax::HYDRAX_COMPONENT_SUN    |
			Hydrax::HYDRAX_COMPONENT_FOAM   |
			Hydrax::HYDRAX_COMPONENT_SMOOTH |
			Hydrax::HYDRAX_COMPONENT_CAUSTICS));
...my ship renders correctly with all materials (purple body, black windshield, red tail):
Image

However, I want to add depth so the water looks like water. I change the above code to the following:

Code: Select all

m_hydrax->setComponents(
			static_cast<Hydrax::HydraxComponent>(Hydrax::HYDRAX_COMPONENT_SUN    |
			Hydrax::HYDRAX_COMPONENT_FOAM   |
			Hydrax::HYDRAX_COMPONENT_DEPTH  |
			Hydrax::HYDRAX_COMPONENT_SMOOTH |
			Hydrax::HYDRAX_COMPONENT_CAUSTICS));
and that leaves me with this:
Image

As you can see, the windshield is no longer black and the tail is no longer red. It seems that the mesh can only have 1 material when depth is enabled.

The ship's material and model was created in 3DS Max and exported with oFusion. Here is the .material file:

Code: Select all

material Material_#41/Ship_Material
{
	technique
	{
		pass
		{
			ambient 0.419608 0.419608 1 1
			diffuse 0.956863 0.701961 0.701961 1
			specular 0 0.933333 0.109804 1 16.1
			shading phong
		}

	}

}

material Material_#41/Ship_Windshield
{
	technique
	{
		pass
		{
			ambient 0 0 0 1
			diffuse 0 0 0 1
			specular 0.9 0.9 0.9 1 20
		}

	}

}

material Material_#41/Ship_Gun
{
	technique
	{
		pass
		{
			ambient 1 0 0 1
			diffuse 0 0 0 1
			specular 0.9 0.9 0.9 1 20
		}

	}

}
I've also tried removing the phong shader (also oFusion generated) from Material_#41/Ship_Materia but that has no effect.
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

MessiahAndrw wrote:I fixed the problem I had earlier of the water drawing on top of everything by setting my other objects to render queue groups >90. :) I don't know if this solved the problem or if I'm simply hiding it and going to run into more issues further on.

Anyway, my next problem is regarding materials of other objects.

I have followed the initialisation of the Hydrax instance as in the demo application (the only changes have been to sun colour/position but I have tried the demo settings and that does not make a difference). Without a depth component (see the following code snippet)...

Code: Select all

m_hydrax->setComponents(
			static_cast<Hydrax::HydraxComponent>(Hydrax::HYDRAX_COMPONENT_SUN    |
			Hydrax::HYDRAX_COMPONENT_FOAM   |
			Hydrax::HYDRAX_COMPONENT_SMOOTH |
			Hydrax::HYDRAX_COMPONENT_CAUSTICS));
...my ship renders correctly with all materials (purple body, black windshield, red tail):
Image

However, I want to add depth so the water looks like water. I change the above code to the following:

Code: Select all

m_hydrax->setComponents(
			static_cast<Hydrax::HydraxComponent>(Hydrax::HYDRAX_COMPONENT_SUN    |
			Hydrax::HYDRAX_COMPONENT_FOAM   |
			Hydrax::HYDRAX_COMPONENT_DEPTH  |
			Hydrax::HYDRAX_COMPONENT_SMOOTH |
			Hydrax::HYDRAX_COMPONENT_CAUSTICS));
and that leaves me with this:
Image

As you can see, the windshield is no longer black and the tail is no longer red. It seems that the mesh can only have 1 material when depth is enabled.

The ship's material and model was created in 3DS Max and exported with oFusion. Here is the .material file:

Code: Select all

material Material_#41/Ship_Material
{
	technique
	{
		pass
		{
			ambient 0.419608 0.419608 1 1
			diffuse 0.956863 0.701961 0.701961 1
			specular 0 0.933333 0.109804 1 16.1
			shading phong
		}

	}

}

material Material_#41/Ship_Windshield
{
	technique
	{
		pass
		{
			ambient 0 0 0 1
			diffuse 0 0 0 1
			specular 0.9 0.9 0.9 1 20
		}

	}

}

material Material_#41/Ship_Gun
{
	technique
	{
		pass
		{
			ambient 1 0 0 1
			diffuse 0 0 0 1
			specular 0.9 0.9 0.9 1 20
		}

	}

}
I've also tried removing the phong shader (also oFusion generated) from Material_#41/Ship_Materia but that has no effect.
Mmm.. Hydrax bug!, Yes.. actually I've only considered one material per mesh, I'm going to try solving it for 0.3 version wich will be release very very early(like tomorrow).

Sorry for my Enlgish and thanks for the bug report!
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

Change the following two funtions in Hydrax.cpp with this new code:

Code: Select all

void Hydrax::CDepthListener::preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
    {
        mHydrax->mMesh->getEntity()->setVisible(false);

        Ogre::SceneManager::MovableObjectIterator EntityIterator = 
			mHydrax->mSceneManager->getMovableObjectIterator("Entity");
        Ogre::Entity* CurrentEntity;
		unsigned int k;

        mMaterials.empty();

        while (EntityIterator.hasMoreElements())
        {
            CurrentEntity = static_cast<Ogre::Entity*>(EntityIterator.peekNextValue());

			for(k = 0; k < CurrentEntity->getNumSubEntities(); k++)
			{
				mMaterials.push(CurrentEntity->getSubEntity(k)->getMaterialName());

			    CurrentEntity->getSubEntity(k)->setMaterialName(mHydrax->getMaterialManager()->getMaterial(MaterialManager::MAT_DEPTH)->getName());
			}

            EntityIterator.moveNext();
        }

        mHydrax->mDepthPlane->getParentNode()->translate(0,mHydrax->mPlanesError,0);

		if (mHydrax->mCamera->getPosition().y < mHydrax->mDepthPlane->getParentNode()->getPosition().y)
		{
			mCameraPlaneDiff = mHydrax->mDepthPlane->getParentNode()->getPosition().y-mHydrax->mCamera->getPosition().y+0.05;
			mHydrax->mDepthPlane->getParentNode()->translate(0,-mCameraPlaneDiff,0);
		}
		else
		{
			mCameraPlaneDiff = 0;
		}

        mHydrax->mCamera->enableCustomNearClipPlane(mHydrax->mDepthPlane);
    }

    void Hydrax::CDepthListener::postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
    {
        Ogre::SceneManager::MovableObjectIterator EntityIterator = 
			mHydrax->mSceneManager->getMovableObjectIterator("Entity");
        Ogre::Entity* CurrentEntity;
		unsigned int k;

        while (EntityIterator.hasMoreElements())
        {
			CurrentEntity = static_cast<Ogre::Entity*>(EntityIterator.peekNextValue());

			for(k = 0; k < CurrentEntity->getNumSubEntities(); k++)
			{
			    CurrentEntity->getSubEntity(k)->setMaterialName(mMaterials.front());

				mMaterials.pop();
			}

            EntityIterator.moveNext();
        }

        mHydrax->mMesh->getEntity()->setVisible(true);

        mHydrax->mCamera->disableCustomNearClipPlane();

		if (mCameraPlaneDiff != 0)
		{
			mHydrax->mDepthPlane->getParentNode()->translate(0,mCameraPlaneDiff,0);
		}

        mHydrax->mDepthPlane->getParentNode()->translate(0,-mHydrax->mPlanesError,0);
    }
Does it revolve the mutiple material per entity issue?

Xavi.
Akle
Gnoblar
Posts: 4
Joined: Thu Apr 17, 2008 12:45 am

Post by Akle »

i experiment that camera delay just with my own binary. The precompiled demo works fine.

Thanks for taking some of your time to help
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

Akle wrote:i experiment that camera delay just with my own binary. The precompiled demo works fine.

Thanks for taking some of your time to help
Perhaps an Ogre change? I'm currently using the CVS snapshot from december, when I get some time I'm going to loking into this delay.
User avatar
TheParanoid
Gnoblar
Posts: 10
Joined: Sat Sep 24, 2005 10:34 am
Location: Germany, Tübingen
Contact:

Post by TheParanoid »

nice screens .. but demo doesn't work for me

Some part of the logfile

Code: Select all

10:55:36: Info: Freetype returned null for character 158 in font BlueHighway
10:55:36: Info: Freetype returned null for character 159 in font BlueHighway
10:55:36: Info: Freetype returned null for character 160 in font BlueHighway
10:55:36: Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:55:36: Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
10:55:36: Parsing script OgreLoadingPanel.overlay
10:55:36: Finished parsing scripts for resource group Bootstrap
10:55:36: Parsing scripts for resource group General
10:55:36: Parsing script OffsetMapping.material
10:55:36: Parsing script SkyBox.material
10:55:36: Finished parsing scripts for resource group General
10:55:36: Parsing scripts for resource group Hydrax
10:55:36: Finished parsing scripts for resource group Hydrax
10:55:36: Parsing scripts for resource group Internal
10:55:36: Finished parsing scripts for resource group Internal
10:55:36: Texture: ct_fr.png: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:55:36: Texture: ct_bk.png: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:55:36: Texture: ct_lf.png: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:55:36: Texture: ct_rt.png: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:55:37: Texture: ct_up.png: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:55:37: Texture: ct_dn.png: Loading 1 faces(PF_R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:55:37: [Hydrax] Hydrax object created.
10:55:37: [Hydrax] Module set.
10:55:37: [Hydrax] Creating module.
10:55:37: [Hydrax] Creating PerlinPGModule module.
10:55:37: [Hydrax] PerlinPGModule created.
10:55:37: [Hydrax] Module created.
10:55:37: [Hydrax] Creating materials,
10:55:37: [Hydrax] Creating water material...
10:55:37: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at ..\src\OgreGpuProgram.cpp (line 896)
10:55:43: *-*-* OGRE Shutdown
10:55:43: Unregistering ResourceManager for type Compositor
10:55:43: Unregistering ResourceManager for type Font
10:55:43: Unregistering ResourceManager for type Skeleton
There it says :
10:55:37: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at ..\src\OgreGpuProgram.cpp (line 896)
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

@TheParanoid
Are you running it under DirectX? If not you have to set Hydrax::MaterialManager::SM_CG in setShaderMode(...).
MessiahAndrw
Gnoblar
Posts: 24
Joined: Thu Jun 28, 2007 2:29 pm

Post by MessiahAndrw »

Xavyiy wrote:Change the following two funtions in Hydrax.cpp with this new code:

Code: Select all

void Hydrax::CDepthListener::preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
    {
        mHydrax->mMesh->getEntity()->setVisible(false);

        Ogre::SceneManager::MovableObjectIterator EntityIterator = 
			mHydrax->mSceneManager->getMovableObjectIterator("Entity");
        Ogre::Entity* CurrentEntity;
		unsigned int k;

        mMaterials.empty();

        while (EntityIterator.hasMoreElements())
        {
            CurrentEntity = static_cast<Ogre::Entity*>(EntityIterator.peekNextValue());

			for(k = 0; k < CurrentEntity->getNumSubEntities(); k++)
			{
				mMaterials.push(CurrentEntity->getSubEntity(k)->getMaterialName());

			    CurrentEntity->getSubEntity(k)->setMaterialName(mHydrax->getMaterialManager()->getMaterial(MaterialManager::MAT_DEPTH)->getName());
			}

            EntityIterator.moveNext();
        }

        mHydrax->mDepthPlane->getParentNode()->translate(0,mHydrax->mPlanesError,0);

		if (mHydrax->mCamera->getPosition().y < mHydrax->mDepthPlane->getParentNode()->getPosition().y)
		{
			mCameraPlaneDiff = mHydrax->mDepthPlane->getParentNode()->getPosition().y-mHydrax->mCamera->getPosition().y+0.05;
			mHydrax->mDepthPlane->getParentNode()->translate(0,-mCameraPlaneDiff,0);
		}
		else
		{
			mCameraPlaneDiff = 0;
		}

        mHydrax->mCamera->enableCustomNearClipPlane(mHydrax->mDepthPlane);
    }

    void Hydrax::CDepthListener::postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt)
    {
        Ogre::SceneManager::MovableObjectIterator EntityIterator = 
			mHydrax->mSceneManager->getMovableObjectIterator("Entity");
        Ogre::Entity* CurrentEntity;
		unsigned int k;

        while (EntityIterator.hasMoreElements())
        {
			CurrentEntity = static_cast<Ogre::Entity*>(EntityIterator.peekNextValue());

			for(k = 0; k < CurrentEntity->getNumSubEntities(); k++)
			{
			    CurrentEntity->getSubEntity(k)->setMaterialName(mMaterials.front());

				mMaterials.pop();
			}

            EntityIterator.moveNext();
        }

        mHydrax->mMesh->getEntity()->setVisible(true);

        mHydrax->mCamera->disableCustomNearClipPlane();

		if (mCameraPlaneDiff != 0)
		{
			mHydrax->mDepthPlane->getParentNode()->translate(0,mCameraPlaneDiff,0);
		}

        mHydrax->mDepthPlane->getParentNode()->translate(0,-mHydrax->mPlanesError,0);
    }
Does it revolve the mutiple material per entity issue?

Xavi.
That fixed it - thanks!
User avatar
TheParanoid
Gnoblar
Posts: 10
Joined: Sat Sep 24, 2005 10:34 am
Location: Germany, Tübingen
Contact:

Post by TheParanoid »

Xavyiy wrote:@TheParanoid
Are you running it under DirectX? If not you have to set Hydrax::MaterialManager::SM_CG in setShaderMode(...).
i downloaded the demo from the first post und didn't change or compile anything ... yep, DirectX 9.0c
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

TheParanoid wrote:
Xavyiy wrote:@TheParanoid
Are you running it under DirectX? If not you have to set Hydrax::MaterialManager::SM_CG in setShaderMode(...).
i downloaded the demo from the first post und didn't change or compile anything ... yep, DirectX 9.0c
I've tried it on more than 15 pc's(family, friends, etc) and it runs in all.
Have your graphic card SM 2.0 support? Do you have the latest version of your drivers? What's your card?

Xavi

P.D.: I'm going to release the 0.3 version in some hours.
User avatar
fifi
Gnoblar
Posts: 13
Joined: Wed Apr 16, 2008 6:20 pm

Post by fifi »

I'm still waiting for Hydrax v0.3. How many hours (minutes?) left to
relase? :)
These are my principles. If you don't like them, I have others.
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

fifi wrote:I'm still waiting for Hydrax v0.3. How many hours (minutes?) left to
relase? :)
1:30 / 2 hours aprox.
:)
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

Hi all!
Hydrax 0.3 has been released, more info on first post: http://www.ogre3d.org/phpBB2/viewtopic.php?t=38148
Hydrax 0.3 version Source and precompiled demo availabes.

Here's the code for set-up the SimpleGrid module if anyone want to use it:(See demo project for the ProjectedGrid module setup code example)

Code: Select all

Hydrax::Module::SimpleGrid *mModule 
			= new Hydrax::Module::SimpleGrid(// Hydrax parent pointer
			                                 mHydrax,
									     	 // Noise module
			                                 new Hydrax::Noise::Perlin(/* Default options */),
											 // Simple grid options (Can be updated each frame -> setOptions(...))
										     Hydrax::Module::SimpleGrid::Options(256, Hydrax::Size(10000,10000) /* See more constructors */));
Hope you like it!
User avatar
triton
Greenskin
Posts: 138
Joined: Thu Mar 13, 2008 10:25 pm
Location: Portugal

Post by triton »

Congratulations on another fine release! :)
User avatar
TheParanoid
Gnoblar
Posts: 10
Joined: Sat Sep 24, 2005 10:34 am
Location: Germany, Tübingen
Contact:

Post by TheParanoid »

Xavyiy wrote:Do you have the latest version of your drivers? What's your card?
Geforce 2 :oops: with latest drivers
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

TheParanoid wrote:
Xavyiy wrote:Do you have the latest version of your drivers? What's your card?
Geforce 2 :oops: with latest drivers
As far as I know, Geforce 2 series don't support PS 2.0 :(
Infuse
Gnoblar
Posts: 18
Joined: Thu Mar 20, 2008 1:32 am

Post by Infuse »

Great work Xavyiy!!! sucks that it never sets up on my machine :cry: :(
User avatar
Xavyiy
OGRE Expert User
OGRE Expert User
Posts: 847
Joined: Tue Apr 12, 2005 2:35 pm
Location: Albacete - Spain
x 87

Post by Xavyiy »

Infuse wrote:Great work Xavyiy!!! sucks that it never sets up on my machine :cry: :(
Does the precompiled demo work on your machine?

------------------------------------------------------

Next steep?
DllExport enum HydraxComponent
{
HYDRAX_COMPONENT_SUN = 1 << 0,
HYDRAX_COMPONENT_FOAM = 1 << 1,
HYDRAX_COMPONENT_DEPTH = 1 << 2,
/// Smooth transitions and caustics components need depth component
HYDRAX_COMPONENT_SMOOTH = 1 << 3,
HYDRAX_COMPONENT_CAUSTICS = 1 << 4,
HYDRAX_COMPONENT_UNDERWATER = 1 << 5,

HYDRAX_COMPONENTS_NONE = 0x0000,
HYDRAX_COMPONENTS_ALL = 0x001F,
};
;)
Locked