Hydrax v0.4 - New version released + Editor!
- KungFooMasta
- OGRE Contributor
- Posts: 2087
- Joined: Thu Mar 03, 2005 7:11 am
- Location: WA, USA
- x 16
- Contact:
Xavyiy, I saw your video and your work looks awesome! Is the library made for oceans or large bodies of water, or can you use it for ponds or river effects? So many good libs out these days, hard to get time to look through them.
Creator of QuickGUI!
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Actually I'm working on the two ways:KungFooMasta wrote:Xavyiy, I saw your video and your work looks awesome! Is the library made for oceans or large bodies of water, or can you use it for ponds or river effects? So many good libs out these days, hard to get time to look through them.
- Plane-Defined waters(like v0.1) with different type of mesh geomtries(Simple grid, "imanted" grid, radial grid, etc...)
- Infinite oceans, as you can see on the v0.2 preview using the projected grid concept.
Switch between one and other water types is very very easy, only change some options. Actually the library needs a lot of improvements before release it, at least two or three months for 0.2 version, but in the summer I want to work very hard on it!(Now I haven't got much time because of the stadies...).
Thanks for your oppinion,
Xavi
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
jjp wrote:Which fragment shader would I have to look at to find out what goes wrong?
Code: Select all
fragment_program HydraxShader20/FP hlsl
{
source HydraxShader20.hlsl
entry_point main_fp
target ps_2_0
}
-
- Silver Sponsor
- Posts: 597
- Joined: Sun Jan 07, 2007 11:55 pm
- Location: Cologne, Germany
- Contact:
Well, if I just display the normals of the water plane they have this "blocky" look, too. But that's about it. I played around a bit, out-commenting stuff and changing parameters but couldn't find anything specific.
EDIT: stupid me. For some reason the normal map only gets point filtering. But I don't understand why, I changed the code and tried to different formats for the normal texture but that had no effect at all. But you're gonna have to do something about it. A water library that only works correctly on Geforce 8 isn't too useful
EDIT: stupid me. For some reason the normal map only gets point filtering. But I don't understand why, I changed the code and tried to different formats for the normal texture but that had no effect at all. But you're gonna have to do something about it. A water library that only works correctly on Geforce 8 isn't too useful
Last edited by jjp on Sat Feb 23, 2008 11:24 am, edited 2 times in total.
Enough is never enough.
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Yes... it should be that.jjp wrote:Well, if I just display the normals of the water plane they have this "blocky" look, too. But that's about it. I played around a bit, out-commenting stuff and changing parameters but couldn't find anything specific.
Maybe it's an issue of precision (which should be higher on your gfx card than on shader 2 or shader 3 hardware like X300, 7900 and X1900)?
I've recorded another video of the new Projected grid module. Wich this technique(infinite oceans) there shoudn't be precision issues, it's based on vertex normals(complexity is very higth because of the projected grid amazing LOD system, and vertex normals works very well).
There's the link:
http://rapidshare.com/files/94117695/v0 ... e.wmv.html [6Mb]
- Thrakbad
- Halfling
- Posts: 73
- Joined: Fri Mar 23, 2007 4:32 pm
- Location: Essen, Germany
- Contact:
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Yes... this is the issue reason. I can't try anything because I haven't any card where I can reproduce the error.jjp wrote:EDIT: stupid me. For some reason the normal map only gets point filtering. But I don't understand why, I changed the code and tried to different formats for the normal texture but that had no effect at all. But you're gonna have to do something about it. A water library that only works correctly on Geforce 8 isn't too useful
Otherwise your cards would work well with the new Inifinite oceans technique because normals are calculated for each vertex(and the elevated number of vertex allow a pretty normal mapping effect).
So I'm going to seach the reasons for the issue.
P.S.: Have you got this issue with others shaders or only with Hydrax's ? Thanks for your interest and sorry for my Indian-English!
EDIT: New video:
http://www.youtube.com/watch?v=SvddAMjURKg
- syedhs
- Silver Sponsor
- Posts: 2703
- Joined: Mon Aug 29, 2005 3:24 pm
- Location: Kuala Lumpur, Malaysia
- x 51
- eugen
- OGRE Expert User
- Posts: 1422
- Joined: Sat May 22, 2004 5:28 am
- Location: Bucharest
- x 8
- Contact:
- Praetor
- OGRE Retired Team Member
- Posts: 3335
- Joined: Tue Jun 21, 2005 8:26 pm
- Location: Rochester, New York, US
- x 3
- Contact:
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
I think ETA for 0.2 looks like March/April, I've to code a material generator for generate all shaders on the fly, in order to allow hlsh, cg, glsl shaders with a lot of parameters like: Per pixel/Per vertex normal maps, different shaders for the different geometry types(Infinite ocean with projected grid, defined espace water surfaces, etc), especific shaders for selected components(Actually there're 21 materials for all combination of components[Sun, foam, depth, smooth transitions, etc...]).syedhs wrote:Great..! Any ETA for 0.2?
After it I'm going to release the 0.2 version.
The only problem is that Hydrax library should come with the demo, but it would be nice doing a package like the Magic of Stonehenge demo.eugen wrote: this should come with ogre default demos (if possible) it realy shows a piece of what can be achieved with this great engine
Otherwise I've planned to release a demo with different water presets in order to show what hydrax and ogre can do! I think in 3 weeks more or less.
Thanks for opinions and sorry for my Enlgish!
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Development news:
- MaterialManager class 80% finished that when it will finished will provide:
- Hlsl, Cg and Glsl shader modes.
- Texture normal map from Cpu, Vertex normals from Cpu, Rtt and Gpu normals generation.
- No more scripts in media files from Hydrax, all is created directly by Hydrax plugin on-fly.
Actually I've implemented:
- Hlsl and Cg shader modes.
- Texture normals and vertex normals.
- No more scripts in media files from Hydrax, all is created directly by Hydrax plugin on-fly.
Bugs: In OpenGl mode and Cg there're some artifacts with the reflection, but it won't be hard to fix I think. Some issues with SIMPLE_GRID and IMANTED_GRID geometry, it will be fixed in 0.3 version.
And a lot of bugfixes/changes.
Sorry for my little Engish.
Xavi
- MaterialManager class 80% finished that when it will finished will provide:
- Hlsl, Cg and Glsl shader modes.
- Texture normal map from Cpu, Vertex normals from Cpu, Rtt and Gpu normals generation.
- No more scripts in media files from Hydrax, all is created directly by Hydrax plugin on-fly.
Actually I've implemented:
- Hlsl and Cg shader modes.
- Texture normals and vertex normals.
- No more scripts in media files from Hydrax, all is created directly by Hydrax plugin on-fly.
Bugs: In OpenGl mode and Cg there're some artifacts with the reflection, but it won't be hard to fix I think. Some issues with SIMPLE_GRID and IMANTED_GRID geometry, it will be fixed in 0.3 version.
And a lot of bugfixes/changes.
Sorry for my little Engish.
Xavi
- mehdix
- Halfling
- Posts: 78
- Joined: Fri Jun 22, 2007 3:59 pm
Hi Xavyiy
Thanks for your GREAT work.
I am using VS2005 and made these little changes when I was integrating Hydrax in my app:
* 'DllExport' macro was added to the declaration of these classes:
CRefractionListener, CReflectionListener & CDepthListener (hydrax.h); Image (noiseutils.h); Module (modulebase.h); Perlin (perlin.h)
* 'Hydrax/Prerequisites.h' was included in these files (needed for 'DllExport'):
noiseutils.h, modulebase.h & perlin.h
* LOG() macro definition was placed into the Hydrax namespace; but as macros hasn't properly identified within namespaces: Could you declare LOG() in the inner Hydrax header/source files?
'LOG' might have been used in some apps/libs already (like mine).
( * Some changes were made to the VC project: debug names, import lib, etc. )
Is it possible that Hydrax calculations be limited to some areas of a plane?
e.g. accepts a mask map like this:
(or a custom shaped plan/mesh)
& when can we touch the new version? as it seems that most of it is done.
Cheers.
Thanks for your GREAT work.
I am using VS2005 and made these little changes when I was integrating Hydrax in my app:
* 'DllExport' macro was added to the declaration of these classes:
CRefractionListener, CReflectionListener & CDepthListener (hydrax.h); Image (noiseutils.h); Module (modulebase.h); Perlin (perlin.h)
* 'Hydrax/Prerequisites.h' was included in these files (needed for 'DllExport'):
noiseutils.h, modulebase.h & perlin.h
* LOG() macro definition was placed into the Hydrax namespace; but as macros hasn't properly identified within namespaces: Could you declare LOG() in the inner Hydrax header/source files?
'LOG' might have been used in some apps/libs already (like mine).
( * Some changes were made to the VC project: debug names, import lib, etc. )
Is it possible that Hydrax calculations be limited to some areas of a plane?
e.g. accepts a mask map like this:
(or a custom shaped plan/mesh)
& when can we touch the new version? as it seems that most of it is done.
Cheers.
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
CRefractionListener, CReflectionListener & CDepthListener was added in 0.2v for a long time, LibNoise not, because it will be deleted in the 0.3 version.mehdix wrote:Hi Xavyiy
Thanks for your GREAT work.
I am using VS2005 and made these little changes when I was integrating Hydrax in my app:
* 'DllExport' macro was added to the declaration of these classes:
CRefractionListener, CReflectionListener & CDepthListener (hydrax.h); Image (noiseutils.h); Module (modulebase.h); Perlin (perlin.h)
I want to delete all LibNoise files for the 0.3 version, and code all with a pretty-style noise base generation class and two noise approachs: Perlin and FFT, however the new Infinite ocean method uses a new perlin noise approach, fastster than LibNoise and coded in only one file.mehdix wrote: * 'Hydrax/Prerequisites.h' was included in these files (needed for 'DllExport'):
noiseutils.h, modulebase.h & perlin.h
I've change this a long time ago, now the funtion is called HydraxLOG().mehdix wrote:
* LOG() macro definition was placed into the Hydrax namespace; but as macros hasn't properly identified within namespaces: Could you declare LOG() in the inner Hydrax header/source files?
'LOG' might have been used in some apps/libs already (like mine).
It depends directly of the Hydrax module selected(the new version allows modules for different noise generation, in order to allow modules created by users). At the moment there're two modules: Perlin and PerlinPG, the fist one is basically a rewrite of the 0.1 version water, and the second one is the infinite opcean grid method(PerlinPG: Perlin projected grid).mehdix wrote: Is it possible that Hydrax calculations be limited to some areas of a plane?
e.g. accepts a mask map like this:
(or a custom shaped plan/mesh)
But I'm going to do a lot of changes in modules for the 0.3 version: I'm want to create a base noise class, and code the Perlin and FTT noise modules, in order to can use these noise modules in our hydrax modules.
As a conclusion: (For 0.3 version, not 0.2)
- Noise modules
- Hydrax modules (different geometry and approachs: plane-defined water, infinite ocean, dinamyc physics/ deformable water by user, etc).
It's a little complex, but I think it would be very great (And it's more hard to understand it with my little English!).
What's the aim?: (0.3 version..) For example:
Noise modules: Perlin, FFT
Hydrax modules: Simple grid, Imanted grid, Projected grid
usage:
Code: Select all
Hydrax::Modules::SimpleGrid mSimpleGrid = new...
mSimpleGrid->setNoiseModule(new Hydrax::Noise::Perlin(...options...));
or...
mSimpleGrid->setNoiseModule(new Hydrax::Noise::FFT(...options...));
mHydrax->setModule(mSimpleGrid);
In 15/20 daysmehdix wrote: & when can we touch the new version? as it seems that most of it is done.
Aclaration:
-0.2 version will be released in 2/3 weeks.
-0.3 version will be released after 0.2.
Sorry for my English!
- syedhs
- Silver Sponsor
- Posts: 2703
- Joined: Mon Aug 29, 2005 3:24 pm
- Location: Kuala Lumpur, Malaysia
- x 51
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Of coursesyedhs wrote:Yeah, it looks seriously cool. Much better if we can see it in motion
There's the video:
http://www.emmsoftware.net/blacksphere/ ... amPrev.wmv
Xavi.
Last edited by Xavyiy on Mon Mar 17, 2008 11:53 pm, edited 1 time in total.
- nullsquared
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
Beautiful, absolutely beautiful! I love the oceans!
A general thought on water: What happens when you go under the water geometry/plane? In Crysis, it looked very real - yet, on other games, you can clearly distinguish the water plane from the "under water" part. Something I've been thinking, what if the refraction part of the water plane (or geometry, just using a simple term here) was kept even when under water? I think that'll reduce the sudden "water-plane" to "underwater" jump.
A general thought on water: What happens when you go under the water geometry/plane? In Crysis, it looked very real - yet, on other games, you can clearly distinguish the water plane from the "under water" part. Something I've been thinking, what if the refraction part of the water plane (or geometry, just using a simple term here) was kept even when under water? I think that'll reduce the sudden "water-plane" to "underwater" jump.
- Xavyiy
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Actually Hydrax does not support underwater effects, but I've some approaches around my head, and yes! kept the refraction distortions under the water plane/geometry is a good idea!nullsquared wrote:Beautiful, absolutely beautiful! I love the oceans!
A general thought on water: What happens when you go under the water geometry/plane? In Crysis, it looked very real - yet, on other games, you can clearly distinguish the water plane from the "under water" part. Something I've been thinking, what if the refraction part of the water plane (or geometry, just using a simple term here) was kept even when under water? I think that'll reduce the sudden "water-plane" to "underwater" jump.
P.D.: I've planed posting a little Demo this night and release the 0.2 version next sunday.