Contest: The best water ever! (win a price!)
Community Forums/Showcase/Contest: The best water ever! (win a price!)
| ||
(Please note: new expiration date) This is a contest about who's gonna make the best water using plain Blitz3D. I offer the following price for the winner: An original swiss military knife manufactured by VictorInox, 99% new (will be cleaned in 100% alcohol) :). I have bought it not so long ago because I thought I had lost my original one. But then I found my first one. Since they last forever, I have no use for both of them ;) anyway: ![]() Ok, maybe I'll have a better idea, however. This contest is about the honour of being "Mr. Blitz Water", the "Mother Of All Waters" etc. Here are the rules: -The goal is photorealism and realistic 3D animation. -It should run with ~20 fps or more on a Geforce 2. -Blitz3D only (no additional DLLs allowed) -Must be released with source -Post a screenie and a link to the source (zipped with req.gfx) -Make your entry until Dec. the 6th -The blitz community is the jury, but users may not give their voice to their own entry. -Voters have to tell who's their favorite in this thread. -Votes will be accepted between December 6th and December 13th -They may edit their voting, but on December the 13th all votes will be counted. -If this contest is ignored and fails miserably then I keep the knife myself. Ok, here's my personal entry, I'm sure you can do better. Feel free to use my code as a basement, but I'd really like to see something DIFFRENT, to use the same skybox etc, would be pretty lame. ![]() And here's the demo source with content: http://www.melog.ch/dl/cubem_ter_water_jfk.zip (744kB) Have fun |
| ||
Sounds fun! I think I'll enter. I like programming competitions! :) P.S. I think you should add this to your rules to make things a little more clear: -Votes will be accepted between November 30th and December 6th (Because of course you can't accept votes before everyone has submited their entry) |
| ||
Well... You're gonna make Red Oktober go crazy... |
| ||
JFK, you're a genius :D This is a brilliant idea... I can't wait to see what people come up with now that they have a reason. Too bad I can't code this for the life of me... I may give it a shot if I get sick of the 3 projects that I have going, though. I'll definietly vote for a winner, though! A hint... that cubemap doesn't need 6 cameras :) |
| ||
Aww, does it have to be Blitz3D? BlitzMax can do some cool water.... http://soldiers.250free.com/BlitZMax/Distort.zip |
| ||
Just a question, probably a simple one, maybe not, but does the size of water depend on how large the plane is? Say I want the Atlantic Ocean and I'm using a standard 20x20 plane, do I have to stretch the plane larger so it goes across somewhat close to whats realistic, or do I have to put planes together and build up a fortress of planes one by one until the reach the desired size? Or another option or idea I had was, would I have to shrink all my mesh's to make the 20x20 plane larger according to what it looks like by my camera? Thought this would be a good question for this type of thread :-D Thanks, Chad |
| ||
Chad - it doesn't matter what scale your world has, you still need the same number of waves to make it look good. It may be ok to use an animated grid of water that is surrounding the player and an unanimated plane or skybox for the distant parts. Drew - right now this is a Blitz3D contest, sorry. Well you can show us a screenie, of course, but you won't get the knife ;) |
| ||
Good luck everyone as I say jfk's is hard to beat. Oh yeah who is the judge, surely not you jfk unless you exclude your own water so you are non-bias! |
| ||
hey, using blitz-terrain as a water-surface is a neat idea! alttough the waves look not THAT realistic, but its an idea, one could follow to the end...hmm btw: over at cws a guy posted a system along with his stencilshadow-system, that makes really nice water, including underwater-occluding. but afaik he is using some kind of dll, so this wouldn't be a legal entry in this contest i think. whatever...good luck to all ;) |
| ||
Hey Jfk, I think you have already won! lol Fab water dude! IPete2. |
| ||
btw: over at cws a guy posted a system along with his stencilshadow-system, that makes really nice water, including underwater-occluding. but afaik he is using some kind of dll, so this wouldn't be a legal entry in this contest i think. That was finished? Where is it? |
| ||
i trust jfk to be the judge... i'm sure he'll acknowledge when my water shows up and drowns him alive... yeah, i wish :) jfk can be the judge as far as i'm concerned... and the slightly new swiss army knife is a cool priZe... but hell, Dec 6th... lets end it all by the 25th of this month, with voting at the end of the month... geez...it shouldn't take that long to make a lil bit of ocean... Chad... there are a few methods to 'extrend' the distance of your water without using ridiculously large meshes... or an infinite plain (i mean plane... looks like i've been on the DB site a lil too long :)... the one i use is based on a 3X3 grid treadmill algorithm... Coder_... too late... crazy was last year... i'm certifiable at this point... just ask anyone around here... --Mike |
| ||
dunno if its allowed to post links to another forum, but... here it is: http://www.codersworkshop.com/viewshowcase.php?id=395 this system is not free though (and not available yet...maybe never...) i doubt if anyone could do that better with plain blitz3d. |
| ||
yeah... i think there was a demo of this posted OJ... i'd license this in a minute... great stuff... any new news... --Mike |
| ||
Mr. Picklesworth, the 6 camera's is a faster way to render a cubemap :) |
| ||
Someone should revert to an old version of Blitz, force VividGL to work (somehow), and use shaders. Does that count? |
| ||
okay..I'm preparing my water thingy...my only request is, can we postpone final date since I have some projects online and cant spend too much time off...just a one week extension, aa?? |
| ||
I may do the judge job but I'm not the jury, everyone can make a vote. I only defined the rules. Hmm - a week extension? And Red wishes one week less? Ok, one week more, cause it just turned out i have a lot to do too until Dec the first. |
| ||
ok... lets extend it a week so there's no stress on anyone's schedule... that's fine by me... Lenn... that sounds like a plan... with one big possible exception though... the part about 'forcing VividGL to work' :) <** runs and hides from Anthony's men in black **> hey jfk... we followed pretty similar logic in our water code... the basic 6 camera cubemapping and stuff... and we seem to have run up on the same problems (underwater parts reflecting back)... but your execution surpasses mine with the animated texture layer... it looks really great... if i could've done this, i might not have 'defected' :) why didn't you hype up that wobbler thingee some more :) --Mike |
| ||
Isn't vividGL a dll? If so, it's not allowed - pure Blitz3D code only, remember! :) |
| ||
yeah... you're right... --Mike |
| ||
Well, jfk, that water of yours really does look great. Is that what you wanted us to tell you :P and its going to be really hard to improve but i'd like to see it. Low fps tho. The only improvements i can think of is higher poly water and maybe pre-animated mesh, and another render pass to make the water look a little transparent. Ie make it un-transparent while making cube map, then transparent for normal render and blend. blah |
| ||
of course I'm a little bit proud of that water, but I have released to source, so feel free to optimize it. I think it can be done much better, it's still looking way too synthetic. Maybe a better skybox would help to make it look more natural. Yes, my code is a little slow although it's running smootly on my radeon 9200se. One solution to make it a lot faster would be to use a smaller terrain (64*64 instead) and a surrounding ocean plane with a simple animated texture. A hole in the middle of the plane (or plane-like mesh), made with vertex alpha, would then show the water terrain in the center of the scene. I don't think water has to be transparent as long as you're in deep water. Only when you're near the coast and you actually would see the ground then you may play with transparency. But even here I'd rather try to use a seamless stony texture with texture wobbler to fake the user thinking he can see the (distorted) stones on the ground. BTW Texture Wobbler was released a long time ago. It was in the news, tho people missed it kind of. It drops MAVs on some machines, no idea why. The idea of Texture Wobbler is nice, but if I'd rewrite it, I would use a fine mesh with realtime vertex deformation to achieve sin/cos distortion, and not the simple Copyrect Routine that was used in the current Release. I mean, this CopyRect thing was developed for realtime purposes (see code archives). There was one problem with cubemapping: I felt like it's hard to mix a cubemap with a second texture layer. So I decided to add that sunglasses thing, so the cubemap cameras would see things darker than they are. Additionally the EntityColor Command is used to adjust the influence of the second (non cubemap) texture layer. well, that wasn't absolutely correct: layer 0 is the animtexture and layer 1 is the cubemap. For some reason entitycolor didn't affect the cubemap texture. Now common, gimme some water! |
| ||
I think your best bet is to create a square 16x16 water mesh and duplicate it. Animate the vertices so that the pieces can be placed side-by-side and appear seamless. |
| ||
I believe my entry will be the winner:![]() EDIT: Actually, I just noted the 'It should run with ~20 fps or more on a Geforce 2.'. So, in fact, my entry is no good - sniff. I barely make 1fps on my gaming system - sniff. |
| ||
halo - good idea, the animatoin may be duplicated, this will save a lot of time. What would you use? Copyentity with an AniMesh? Not sure if realtime vertices access is fast enough. Well somebody should test it. Puki for some reason I guess you're cheatin +_+ but hey, sourcecode is welcome. In fact your image is very useful, so we can see how it should look. |
| ||
Use copyentity, so you only have one set of vertices to move. Then do a sine wave on each vertex, with a random time offset. The reason you use one small patch is so you only have to move a small number of vertices in realtime. Adjusting the normals of the mesh will cause the cubemap to waver. An animmesh would not be appropriate. Just use a regular mesh. |
| ||
Well, I can point you in the right direction: http://www.aiwisdom.com/graphics/byeffect_reflection.html I have the Game Programming Gems set. |
| ||
Use copyentity, so you only have one set of vertices to move. yeah... that works... that's what i think i'm currently doin... Water1=CopyEntity (Water\hEntity) PositionEntity Water1,EntityX(water\hEntity,1)-10000,0,EntityZ(water\hEntity,1)+10000 EntityAlpha Water1,.84 EntityColor water1,84,165,207 Water2=CopyEntity (Water\hEntity) PositionEntity Water2,EntityX(water\hEntity,1),0,EntityZ(water\hEntity,1)+10000 EntityAlpha Water2,.84 EntityColor water2,84,165,207in the create water function... code is in preliminary state right now... but i have the 9 grid treadmill thing i mentioned above... so you never run out of water no matter how far you travel... ![]() i've still gotta fix the ocean texture and steal some code from jfk's great looking ocean before i'm ready :) --Mike |
| ||
Here's my water. I actually adjusted the surface alpha according to water depth, so it is more opaque in the deeper center:![]() |
| ||
that is, what i came up with till now: click me tough its no ocean and is probably not suitable for larger scales... (man, these forum-codes suck!) |
| ||
no tags for an image... just the url oj... ooops... sorry --Mike |
| ||
i dont wanted to post this large image because it breaks the layout and makes modem-users go whee ;) |
| ||
copyentity... How could I use this so then no matter where the camera is, the mesh is still aligned with the camera, or however it works? I'd like more information on this one.. |
| ||
Wow they both look fine, halos and OJays water. I like the idea of depth dependant opacy. Halo there's one thing your water doesn't seem to reflect properly (or maybe it's only me). Anyway, I generally still suggest to use my against-all-odds cubemap camera position, that is using X and Z from the player camera, and Y is waterY-PlayerCamY, it produces pretty accurate reflections from all objects in the world, as long as they are over the water level. Chad - did you already read the description of CopyEntity in the Command reference? You have to. Copyentity is creating an instance of an existing Mesh. while editing the original Mesh will affest the instances as well, each instance can be positioned individually. This command is used to gain some speed boost, compared to CopyMesh. |
| ||
I don't do realtime reflections, just a static cubemap at load time. It looks good enough, and doesn't require 7 renders per frame. Here's another: ![]() |
| ||
I don't do realtime reflections, just a static cubemap at load time. It looks good enough, and doesn't require 7 renders per frame. Sanity, at last!!! ( Not that there's anything wrong with reflect all, of course :D ) For those who really want dynamic reflections, perhaps it would be worth making some weird attempt at only rendering dynamic objects and slapping them on top of the prerendered world? (This is very likely to turn out with jagged lines and discoloured edges, though... such a thing would probably require a more advanced 3d engine). Halo, that water with the ripples looks really nice. Needs source if you want to win the knife and become the king of water, though. Same with Ojay :) |
| ||
Well first of all it's only one render, using multiple cameras, all together smaller than one full viewport. Additionally, logically the number of cameras can be reduced to 3, because you never see more sides of a cube than 3 at a time. Finally, if you make a cubemap, you may use it for all reflecting things, so your level may contain water, marble, chrome etc. all done with one cubemap. I think it may be worth to do that for some kind of game fx. But of course I agree, realtime cubemapping should only be used when it makes sense. Eg. in a game like Reds Sub Game. |
| ||
Maybe I should "wet" myself too... had cool plans and ideas for neat looking water but they were somehow buried under the überhectic "other life" and such things... |
| ||
Doesn't anyone ever take the refractive index of water into account for more realism? |
| ||
reflection is easy, but refraction with Blitz3D is really hard... dll mentioned above does that, but it's a dll. With native Blitz3D it's close to impossible, at least if you want good speed as well. There's few other things ppl are forgetting usually from their water (no, I'm not telling what), and hopefully I can do those! :) |
| ||
hehe..watch out my refraction/reflection...61 FPS on my nVidia 5600XT :)), of course I need extension I talk about before with JFK :)) |
| ||
You have some extremely impressive stuff in there, Halo! |
| ||
yeah... the water is just one part... the landscape is equally absorbing... looks good... --Mike |
| ||
Have a look at this: Some really nice refraction (and reflection and shadows): http://www.codersworkshop.com/viewshowcase.php?id=395 |
| ||
Lenn, you should move that shadow system blog to a Blitz worklog, where it belongs. It's doesn't inspire me with confidence for your project currently. |
| ||
Lenn, yes, I've seen that too. It's one of my favorites, of course. Only the water is brighter than then the other parts, but it should be darker. Mustang - well you can always show DLL stuff, and basicly Blitz3D remains Blitz3D, doesn't matter that much if external help is used. I mean, if you wrap DPPro from within Blitz or something, I probably won't give you a lot of points :) An other reason why I said "plain Blitz3D with source" is the idea to make the best water accessible to all Blitz Users. Naughty Alien - can't wait! |
| ||
I've been tootling away at reflections for a while, getting a feel for the scene management overheads for various approaches. Been a wee bit ill recently, but this is where I was up to: Transparent water reflecting and distorting scenery and actors / actor reflection cliping / no cubemaps...![]() EDIT: Re the sub, is there a link to a version of the model that hasn't been cut in half? That's cheating, that is. ;) |
| ||
hehe..JFK, you will see soon...basically its just one old dirty tricky, but its working..;)) |
| ||
that isn't cheating, it's a work around. Probalby I would use a set of cut subs to _ship_ around the rocks. But you're right a solution is wanted. It has always been a problem, with CreateMirror as well as with Cubemapping. Your screen doesn't look that bombastic, but I think there's a lot of potential since it's not cubemapping and it allows to put things under water. When you use a higher resolution and an animated water surface, with waves etc. maybe it would be the winner. Well can we get the source? |
| ||
Mine would be the best if DLLs were allowed and also the FPS was lowered to being barely runnable. Mine is probably the only water demo to ever use pixel shaders in b3d, albeit via the DLL to the graphics card. |
| ||
www.redflame.net/files/cubed.zip is mine... it was in actual fact the very first water demo EVER in blitz to use a cubemap :) I know cos I beta tested :) |
| ||
that isn't cheating, it's a work around Or, rather, everything we do is cheating to some degree or other. :D I think there's a lot of potential since it's not cubemapping and it allows to put things under water It's swapping one issue for another - it's problematic to filter out the extraneous portions of an object's reflection without damaging the reflection of another object it might happen to partially occlude. It's not a show-stopper, but it does constrain (mostly level) design for the time being. |
| ||
Here is an infinite animated ocean which you can fly over using the cursor keys, written in blitzplus using jfk's raycasting code in the code archives. http://home.swiftdsl.com.au/~gezeder/lloyd/ocean.zip |
| ||
I think Halo's second shot, while simple, looks amazing. One Eyed Jack, I like your water, it's great. But I also like the look of the level in general. It makes me want to program in 3d. And matty, can you compile so us non-B3Ders can see too? I'm curious. |
| ||
Matty - nice work for a 2D solution, tho pretty slow, 3fps on my radeon 9200se/spemphron 1.6GHz. I think you could optimize the speed, eg. you shouldn't pack GetWorldHeight and GetRGB into functions since a function call uses a lot of stack stuff that takes time. Jack - of course I already knew that one, it's great, tho I didn't realize you are Rob. |
| ||
Yeah, I'm just lurking :) I don't want to win the compo, I'm just sharing my work cos there's source (although probably outdated quite a bit now!) What I like most about halo's technique is using depth to fade the edges. One of the things I have always hated about "computer water" is how it laps against the edges of the area. Usually this is quite jarring and clipped - does not look nice. I confess I hadn't really thought of the idea where you would alpha fade those edges based on simple depth. IT doesn't work for everything but it does seem ideal for terrain like environments. |
| ||
Heya Rob good to see you man. I'll have a stab at making some water. Will report back soonish. |
| ||
[OFFTOPIC] Lenn, you should move that shadow system blog to a Blitz worklog, where it belongs. It's doesn't inspire me with confidence for your project currently. Youre right. That "blog" stopped working, those dumba$$ stupid retarded degenerate idiots make it only work in Explorer. So new worklog is there. [/OFFTOPIC] Wow, this is a sticky? I agree with jfk that entries should be accepted as long as they are freely available to all blitzers, regardless of if DLLs are used. |
| ||
yeah, but then the source of the dll should be included too! OT: hey lenn: does that mean you're still working on teh stencils? i looked pretty much forward to it, since it seems andrew won't release it any time soon... :) |
| ||
yeah... lets leave it the way it is... noooooo way i can compete with the stuff put out by AMT... --Mike |
| ||
OFFTOPIC (sorry): Yea OJay, i absolutely MUST finish the system. It's only a matter of time. And because i dont allow myself to work on anything else until i finish them, it should be "soon". In fact, i could release it now but what use would it be only being able to have about 700 tris casting moving shadows? So if i cant speed it up (ie if its too much time), at least i'll release it in its slow form and others can improve it. |
| ||
Lenn. ok DLLs may be accepted, where their price may be a criterium too, so when they are not free or cheap, this will cost points. At least in my vote. |
| ||
Ah, so my entry is now valid.![]() Ho, hum. |
| ||
puki sometimes I don't know if you're kiddin or not. That's a photo, right? Anyway, your Graphics3D resolution 599 x 449 Pixel is a bit uncommon Mr. Colombo told me. |
| ||
hahahaha |
| ||
lol There are some renders that come close to that photo. The only thing that gives it away its a photo is the texture accross the waves made by the wind direction. Such details nobody ever bothers to put into renders. |
| ||
I just had another idea. Dont know why, i dont even want to enter the compo. Tom made a demo with stencil mirrors. You can make a dynamic mesh and calculate each triangles angle in relation to the camera/scenery and those which are at a higher angle could reflect more. Of course you'd have to control the amount of reflection by other texture layers. You could do 1 render only with reflections, add blur to it (and hide others while blurring), then show the rest of the normal water with colour and texture maps. Also, a table of geometry of verts could be established so you can check positions just by angle of camera (if you have same water-wave tiles scattered around) and it wouldnt be that cpu intensive. |
| ||
well puk... all i can say is that i'm a bit dissapointed... you call that large!!!! :) --Mike |
| ||
Well, the limitation of mine is it is 2D only - the water is rendered to the skybox. We got the idea when looking at encoding a realistic day to night cycle into a cube map - it was too complex to do in Blitz3D, so we just mapped a single pixel to reference the sun/moon in a skybox. As an off product, the water wave ripples are actually written to the skybox, not as actual 3d water. We looked at how nVidia did the realistic day/night cycles and just recreated the idea for water. The fact remains though that it is the sky box's textures that are being altered - it is not 3D water. So, it is 3D water being rendered in 2D then being mapped out as 2D. Simple as that. |
| ||
Do I get this right, it's an animated texture on the skyboxes water parts? |
| ||
Nope, not animated - it's being 'written' on a calculated basis - the grunt work is being done by the graphics card - hence the DLL - it is somewhat slow and cumbersome at the moment. |
| ||
lol @ "puki" |
| ||
jfk...I don't even think puki knows what's going on in that skybox/water code. LOL |
| ||
Last week countdown! As far as I see there are not many valid entires so far. Remember, Sourcecode must be included. DLLs may be ok as long as they can be used by other people too (so it has to be for free or use-now-buy-later based). The idea of this contest is also to offer some nice water solutions to the community, therefor closed-source is not a valid entry. |
| ||
Getting there... I might miss the deadline though. But if it turns out to be/look a decent water system, others will get it too later in some form. If it sucks visually in the end or the code is "un-professional" I will keep it to myself :) As for the deadline, it would be handy to get one day extension because tue 7th is out independence day - and thus a free national holiday... handy extra full day for some coding at least although fdamily will take some of that time. |
| ||
I'll count the votes on the 13th. People may start voting on the 6th. They may edit their votes until the 13th. So I think it's not a problem. |
| ||
water in my game![]() |
| ||
Out of respect for the damn contest rules, my vote goes to jfk - being that no other screenshot has source supplied and no other source has a screenshot supplied! |
| ||
Most people are probably waiting until nearer the deadline as they don`t want their ideas pinched ;) Jason. |
| ||
hehe - I don't care as long as I can learn from the result again. Thomas - looks pretty good too, although no source. Is it cubemapping? |
| ||
I remember first seeing WaveRace on the N64, that water sure looked cool and still surpases its GameCube follow up in terms of wetness in my opinion. I wonder how Nintendo came up with that look as they didn`t have access to fancy shaders and things. The proof is in the motion. Jason. |
| ||
Hello All; This is my water scene. Actualy I did this work just for enter the contest, not for the prize but if I win I want that Swiss Knife :) meanwhile, you may solve problems with geforce mx hardware by modifying source code as follows 1. convert comments to code under "; if geforce cards" section by deleting ; before them 2. convert code to comments under "; if geforce fx cards" section by adding ; at first column. it seems that geforce mx does not work well using textureblend with Multiply2 parameter. Another thing: by default, camera turns automatically. to enable manual turn (left+right arrows), remark one line of code under "; auto turn" and delete ";" on two lines under "; manual turn". http://www.duruoz.net/blitz/cistern.rar (with data) http://www.duruoz.net/blitz/cistern_mx.rar (mx exe - without data) ![]() ![]() ![]() ![]() Burcak Duruoz |
| ||
some nice stuff here.... Just with regards to puki's image, that's an interesting way to approach a water effect, even for 2D, and I can imagine it's quite intensive on the hampster-wheeels, but it sounds like it's great for screensavers or demo scenes. |
| ||
hehe - I don't care as long as I can learn from the result again Ah, going to steal my code where you? I might just have to withdraw my entry - still, at least someone else will get to win. Right, everyone is happy. I'll see you maggots later. |
| ||
I know this doesn't look the best but it's mind meltingly simple!![]() |
| ||
Mr Duruoz, great work on your scene! It's a shame that the reflections don't match up to the scenary, but it certainly gets the impression across nevertheless. Fantastic stuff! |
| ||
perseus : my eyes hurt from the sheer coolness of your scene. downloading. Rob: your scene is looking interesing as well, especially since it suggests to be useful for large outdoor water objects. Will you release a download / source? |
| ||
JFK, there's not really any source to publish... It's a plane. It's got 1 base texture on it... then 2 more ripple noise textures multiply x2 on the top of it. All 3 of the textures are scaled differently, the scales used are totally different and do not divide into each other exactly. This gives it a less repeated look. The textures are then moved slowly in different directions, this creates random ripple patterns that doesn't look tiled. The whole plane is alphaed very slightly. Reflections are additional meshes positioned just above the water and have an animated texture on them and are set to add blend. The water plane is positioned just infront of the camera and textures are moved based on where the helicopter is in the world, this means that you don't get a z-order problems. That's about it... Not rocket science! But gives a good effect. |
| ||
I will surely miss the deadline now - got sticky flu and was "braindead" the whole weekend... But I got few additional ideas (had to be the fever...) and I will now slightly alter/optimize my code. Competition or not, I will post screenshots etc when it's done. Oh, and: Perseus - nice stuff, cool level... but. I wanted to see more "true" waterlike effect, not just animated caustics texture. And caustics should be on the ceiling too? But it looks nice. Rob - very good effect for the "effort"! It looks like water, sort of, and is fast. Thumbs up! My water will be big open ocean-like system, small puddles are too small for my SSBN (or whatever I want to throw there...). :) |
| ||
Moin Hm, wanna go fishing? don't forget your sunglasses! |
| ||
Here's a couple more shots showing it as an expanse of water...![]() ![]() |
| ||
![]() http://www.frecle.net/misc/Water.zip This is something I had lying around, but tweaked a bit. It's an infinite ocean thing, and at least on my machine it's quite fast. |
| ||
Here my entry. it is 16 o Clock, hope more will send there entrys until 24 Uhr. ![]() http://www.blitz-pasting.net/uploads/useruploads/htyQT90731124380100_Jan_waterrelase.zip |
| ||
i'm so impressed with Fredborg's water... that's exactly the effect i was trying to get... but no matter how i tried, i just couldn't get it... the reflections are spot on, the water movement and waves are believable... i'm gonna cast my vote here for this... --Mike |
| ||
fredborgs demo doesn't work well on my setup (GF4mx440). I get just a lot of white where the water should be. :/ |
| ||
i'm gonna try it on a GeForce2 over here... *** added *** yep... same thing on GF2... something aint supported on those cards. the lowest spec card i have other than GF2 is a Radeon 9200, and it works fine there... --Mike |
| ||
Yeah, I'm getting the same thing on my GF2 system. |
| ||
Try commenting out line 78 and 79 in Cube_Reflection01.bb:BrushTexture br1,cubetex4 BrushTexture br1,cubetex5,0,1To see if that fixes it. It sounds like it's a multitexturing thing. It might be enough to comment out one of them... |
| ||
that seems to fix it Fred... the frame rate on the GF2 card is around 11 fps though... which is to be expected, so no surprise (733mHz machine)... hey, this is a great piece of code... i'm really impressed... can i use it in my game... if i make any kind of money, i'll definitely make sure that you get a cut, and without saying, definitely credit you for your work... again... great stuff... i am humbled :) --Mike |
| ||
Freds entry doesn't fully work with my laptop (integrated GM852/855 gfx) but that's more or less expected... reflections are screwed, otherwise it works fine. It even was reasonably fast (14fps) considering that my laptop is 1.5Ghz CeleronM. JFKs entry had the same reflection problem. My main comp shows them probably right, but haven't yet tested that. |
| ||
I commented out the first one and it works. |
| ||
Lots of cool stuff. I'll have a closer look later tonight. Mustang - Gesundheit! Hope you feel better soon. |
| ||
![]() http://www.inarie.de/downloads/pbwater.rar I'm not too confident that it will run fast on ya machine ^^. The water mesh is created from scratch every loop. And it's quite a lot of tris ^^ |
| ||
Fredborg, your water is too cool! If you stop the wave motion completely you can even get a nice wet beach look. Excellent stuff :) Jason. |
| ||
I got the white water too, but only through the IDE. If I ran the executable it ran perfect. Do you know what version it was compiled in? That may be the issue. Edit: Problem solved here, I had forgotten that I had gone back to an older blitz update. When I bumped back up everything works fine. Maybe that's the same issue others are having? |
| ||
Fredborg's demo works fine for me even on my Intel Extreme GFX laptop! :) I'm really impressed with it. Inarie - your water is really nice but really ought to be transparent IMHO. |
| ||
inaries Water rocks.. definitely... nice (fake) refractions, whitecaps look good... looks very fluid... but could be moving a bit more... |
| ||
fredborgs water is nice to, but for me, inarie is the winner. you can easyly adjust the code so the water is transparent... or moves a bit faster. Well.. i think inaries and jfk's water are head on head, but as jfk doesn't need the knife that much :]... my vote goes to inarie! |
| ||
Yay! I was afraid that people had given up, but I guess they were just out programming. Inarie: Your demo is very nice. The whitecaps are excellent, the waves are very smooth, and the frame rate is surprisingly good considering that the water mesh is created every frame. With some more optimization, I bet it could be way faster, too :) Fredborg: Your water demo also really impressed me. Good framerate, the reflections are marvellous, and the waves appear quite smooth when they're set right. I notice that the reflections are a bit funny looking when up close to the duck, but it looks like this is probably just the fault of the demo. I love how I can set the cubemap to be blurred to get smoother waves. The reflections bottom out in some cases, but this isn't a contest about reflections and it seems like the problems are easily avoided. (Besides, computer game water always looks best from a distance). Why is the entire water engine in the "Cube_Reflection01.bb" file? It's a bit of a strange name, if it has the wave update stuff... For now, my vote is for Fred's water. The reason is because his demo doesn't require to remove vertices that are below the water, there are many fun options available to the programmer, and because I like ducks. Amazing job! Including to those who I didn't vote for... I couldn't possibly achieve some of the water that's been posted up here. I'll be mightily impressed when someone throws in a bit of alpha like in Halo's screenshot up above here. |
| ||
OK, fredborg gets my vote now. =] I can't run any of the exe's though, they keep MAV'ing and I don't have B3D installed. I would have liked to see Inarie's and fred's in motion. Oh well. |
| ||
To disabble, the Filter, change Const HDRFakefilter=True to Const HDRFakefilter=False |
| ||
I love rubber duckies! Fredborg's rocks! |
| ||
Inarie's Presentation is the Best! my vote for Inarie |
| ||
hehe... ive had a closer look onto the others water codes ^^. perseus's water itself isnt perfect (reflections, strange code), but i like the level and the caustics.. cool presentation! fredborg's water is cool cozof the reflections and the underwater mode. and, well, cool duck :D. i dont like the transparence, but ive got the impression, im the only one who doesnt like transparent water ;). i btw had some bugs, when i tried to include a mesh and didnt remove the vertices under the water @Mr. Picklesworth. i like the waves of jan's water ^^. but i think he is way too filters-mad. ;) my water, hihi. i tried both creating the whole mesh every loop or just changing the vertices. on my machine, there was no difference in speed. and as recreating the mesh every loop seemed to be more flexible too me, i decided to do so. and there was another advantage on my pc: making the water transparent didnt cause z-order bugs between water and the transparent tiles of the terrain (created with fle, love it ;)) i think i could optimize it by doing updatenormals on my own ^^. im gonna steal some code from fred or so. ;) hmm, i think, i wont vote ^^. |
| ||
My wote goes for fredborg! This water rocked!... maybe a little blocky from the distance, but best of these. [EDITED] removed harsh comments... |
| ||
Bouncer, don't be so harsh. All presentations have pros and cons. Here's what I think so far. inarie: pro: white foam caps, correct reflection, large scene, very nice animation. con: a little slow, plastic look due to too much reflection (Use Multitexturing to get rid of that). Waves are round on the tops and bottoms (like mine), as a continous sinus curve. perseus: pro: very nice screen design, good first look feel. con: reflections not correct, small scene fredborg: pro: fast, best waves animation algorithm (try height 40), large scene/endless mode. Waves have sharp edges on the tops, something I miss in most sinus calculated waves (including mine) con: fine grainy animated Texture not very realistic. Colors not very realistic in general. Problems with twosided alpha meshes (backfaces of wavecaps are shining trough) oneeyed jack: pro: nice scene, goog looking water, good reflections, pioneer work in blitz cubemapping con: small water object, no multitexturing Matty: pro: uses 2D only, so it could be used on non 3D hardware con: slow, practically not useful for a game Jan: pro: Realistic response on the "Make wave" keyhit Con: Bad usage of Fake HDR, everything is white and blured. Rob Farleys water is looking promising, but he didn't post the source, and I think it's really a bit more complicated than "there's not really any source to post"... Red, Halo, Sledge, Thomas and Ojay posted Screenies without Source, so I cannot rate it. I like the look of perseus' demo, but fredborg made the best water animation. I'd like to mix fredborgs wave algorithm with my animated texture layer and preseus' map design :) therefor I vote for Fredborg (no, wait, see the EDITed part) - uh, I hope the shipping costs for the knife won't be that high :/ where do you live again? EDIT: I chached my mind, not only because fredborg has more than enough votes t be the winner, but also because Perseus edited his source concerning reflection accuracy. So my vote goes to Perseus. Ok, let's see if there are any further entries. |
| ||
sorry, the water is pretty deeply built into the engine...have no time at the moment to extract a selfrunning sample. :( voting for fredborg nevertheless :) |
| ||
Inarie :D Your water is great! It is almost a mirror, but I like that ^^ |
| ||
It has been a wonderful competition. The participation level was also very good. Besides I congratulate you for arranging this competition jfk EO-11110. By the way as I am very busy I can not attend to your conversations that much :( sorry. my vote goes to the sea of fredborg (fredborg how would you do the reflection if you were to put two ducks in your scene) @dock yes you are right about the reflection. I had to make a choice here. There are 16 columns an done pool on the scene. I could have done the reflection by making cubed map one by one for all and opening private sections underneath. However this would not be effective besides making the thing cumbersome. Besides I would also make a reflection render with reference to the angle of the camera and then would map the object projectionally with reference to the angle of the camera. ( In fact I do not know whether there is the utility of projectional mapping with reference to the camera in blitz) besides if I would do raytrace reflection instead of cubed refle there would not be a problem. ( but as far as I know there is no raytrace reflection in blitz) I preferred leaving considering all these. Besides for such objects, in the interior scenes, cubed refle can be pleasant but for planary objects, although cubed refle is done for all objects cutting the planary object separately, as zonal mapping is necessary, there will be reflection differences between the zones. ( I would appreciate if you have further ideas) As a result I decided to leave the refle as this, both in an effective and satisfactory speed. @Mustang I used the caustic only to increase the strength of the effect. If you remove the austic from the I source you will probably see the water effect you want. And with this caustic is usually more in the areas with more light. The caustic of reflection being in the exploding parts of the light is normal as it is again the reflection of light. In this situation, in my scene, there would be caustic in the columns on which the light was more instead of being on the ceiling. But I disregarded this as the caustic on the columns would not add much to my scene. The reflection of caustic on the ceiling is a fact directly proportional with height between the ceiling and water. At this scene less caustic should have been added and to a definite part of the ceiling. However, it would not add much to the frame ( I tried). I thing many of you had the problem between (geforce 2 / 4mx)and (geforce fx). My main concern why the multiply2 parameter did not work in geforce 4 mx and gf2 when we made texture blending. @ Inarie As I basiclly aimed to capture the photoreality the code had been a little interesting you are right |
| ||
I would vote for Fredborg but he didn't answer an email I sent a while back so :P Inari's water is great too although a little plastic looking. It's amazing what the promise of a Swiss Army knife can do !! |
| ||
yeah... no problem JFK... i wanted to enter, but my stuff aint up to speed, and i found myself a lil busy right now... i would've lost anyway, there's some really neat stuff showcased here... --Mike |
| ||
Been too busy to knock up a package - one will prolly appear in the Squint! thread in due course for the curious. I like the way that we're all secretly a bit good at water :D |
| ||
FREDBORG WINS FREDBORG WINS! |
| ||
perseus - I think you can do cubemapping on a not-per-object base. See my code. It's using one render for all objects and reflects them pretty accurately. The cubemap camera is positioned relative to the player camera. It's against all odds but for some reason it works. |
| ||
I vote Fred although I'm still bitter about the crate-comp outcome... ;P My own water won't be ready during this week at least, so it's way too late to enter this compo. But GREAT compo IMO overall, best ever in here. Maybe the price was better (well there WAS a price...). Tons of great code and stuff. None of these are perfect by themselves, but by combining few together there's a water system that could pass almost a shader-water. What's next? Clouds, anyone? :) |
| ||
I don't know who to vote for...but I think Inarie made the most useful water, although I don't like the way it looks. jfks water is very slow on my machine, but looks better. Perseus' scene looks great, but the water isn't that hot. Jans water simulation is the best, but it's hard to see :) @jfk: If I win, I really don't want the knife...I've already got one, so give it to someone for christmas. @perseus: More ducks? Easy: |
| ||
JFK... There's really not really any source to post!! Set up the water: ; Create Water water = CreatePlane() wt1 = LoadTexture("gfx\water3.jpg") wt2 = LoadTexture("gfx\water2.jpg") wt3 = LoadTexture("gfx\water3.jpg") ScaleTexture wt1,37,37 ScaleTexture wt2,19,19 ScaleTexture wt3,55,55 TextureBlend wt1,5 TextureBlend wt3,5 EntityTexture water,wt1,0,1 EntityTexture water,wt2,0,0 EntityTexture water,wt3,0,2 EntityFX water,1 EntityAlpha water,.6 wt#=0 wtt#=0 Then in the game: PositionTexture wt1,(-EntityX(player)/37)+wt,(-EntityZ(player)/37) PositionTexture wt3,(-EntityX(player)/55)-wt,(-EntityZ(player)/55)+wt PositionTexture wt2,(-(EntityX(player)/19))+(Cos(wtt)/20),(-EntityZ(player)/19)+(Sin(wtt)/25) wt=(wt+.0005) Mod 2 wtt = (wtt+1) Mod 360 PositionEntity water,EntityX(player)+EntityX(physpiv)/10000,10,EntityZ(player)+EntityZ(physpiv)/10000 |
| ||
jfk EO-11110, I wish I'd look to your code first :) The weird thing is I usally use fake reflections on my 3d animations, Although I knew this system before I don`t know why I maped different objects with different maps and confused myself. Actually cubeMap reflect system is a solution for making a projection maping according to the camera angle. @fredborg: in my opinion, more ducks made your scene much greater :) As I said, I was confused about cube mapping. @inarie your water version is great, but I think lanscape, landscape textures and color of water made it to look a little bit syntetic. I've corrected source and exe. You can get it from the same url. www.duruoz.net/blitz/cistern.rar (with data) www.duruoz.net/blitz/cistern_mx.rar (mx exe - without data) |
| ||
Rob - well this is really not so common at least to me. I guess it's pretty effective to prevent tiling patterns. If Fredborg don't want the knife then I'll send it to 2nd place. I guess that's inarie or perseus. |
| ||
This has been great, I hope we will be seeing more of these types of competitions. What`s next? I think the winner should decide. Jason. |
| ||
EDIT : Since fredborg doesn't want the prize my vote changes for Inaurie =] I hope we will be seeing more of these types of competitions. I think jfk will run out of knives =] |
| ||
I think the next competition should be for the best "code" to auto-rig a 3d object. You know, it would read all the vertices and autorig a skeleton ready to be animated. That would be very useful. and please, it's a "prize" not a "price" (Who'll be the next contestant Don Pardo?) |
| ||
Ok, price, price. Doggie how about a contest written in sanskrit? But beware of any typoz, we'll hang you :P |
| ||
Wow, haven't looked at this thread for a while and some pretty damn good waters have turned up. |
| ||
ok, final judgement day. I counted the explicit votes only. Things like "I vote for ...", or "Nicks is the greatest" as long as the user didn't say that about multiple entries. Here's the result, correct me if I'm wrong: Fredborg: 8 votes Inarie: 5 votes Perseus: 1 vote Congratulation for the first 3 (and only) winners of the contest! Tataa! Somebody open the champagne bottle. I will make a little blitz-on-the-water page soon, containing all sources, but of course with a copyright statement concerning the included media such as textures and meshes. Since Fredborg said he doesn't want the priZe, it goes to Inarie, Inarie please contact hanshuber008 at yahoo.com. Thank you all for participating this competition. I think the result is very useful for all of us and it may even satisfy Red Oktobers water requirements for his sub game. Cheers! |
| ||
great competition... great works guys... congrats winners!!! --Mike |
| ||
it may even satisfy Red Oktobers water requirements for his sub game. Can there be such water, even with shaders? :P |
| ||
Can there be such water, even with shaders? :P hahahahahahaaaaa... oh yes... definitely... as a matter of fact, i've already plundered the one that i voted for, Fred's water entry, and ravaged his code to fit into my OOP hack game engine... here's an early example what it looks like with the lil mods that i put in it... ![]() ![]() all i really wanted was something with a lil more life than mine, and some nice reflectivity... i did run into the same cubemapping problems as i had on my code, object partially submerged would distort the cubemap reflection on the water surface... but the solution was simple enough... i simply hid the sub during the cubemapping and replaced it with a top half mesh of the sub... THANKS again Fredborg... --Mike |
| ||
Looks cool. How about this: cut the sub in slices and save them as children (slice1,slice2 etc) then load it with LoadAnimMesh and simply hide some children to prevent mirroring problems. |
| ||
I think that would cause visible seams all over the place though, jfk. I have some code in the arcs to clip a mesh along a given plane, if that's any use. May need modding though, as the demo clips a mesh, displays it, throws it aways every frame. |
| ||
Red Ocktober : How about a demo scene for us all to take a look at? Jason. |
| ||
coming... trying to get a training level and a training cruise done... --Mike |
| ||
0 Fotes 4 me :-/ |
| ||
Don't worry, for me too. |
| ||
Ja, du bist ja auch ne Flasche. hehe ok, some more Contests? |
| ||
In fact something like this can be done. As Fredborg has won he can determine the new compettion (the prize is not that important for me) In this way the first place winners deteremine the new competition and the rules and this will continue. |
| ||
Or should Inaurie choose, because fredborg sacrificed his prize? ;] |
| ||
or maybe i should choose the next competition... no reason in particular... maybe because tommorrow is thursday is reason enough... ... but if that flies, and seeing as we have a lot of water to choose from now, i would challenge everyone to try and duplicate this scene from HalfLife2, and see how close we could come to it... ![]() ... just to show what Blitz3D, in it's twilight, is still capable of :) --Mike |
| ||
..is it ok if we using 3rd party additions such as external DLL's? |
| ||
it seems like most "the winner has to choose next.." compos are diening silently after some time, but of course feel free to start a new competition. Meanwhile this one should become unsticky as the contest is officially finished. |
| ||
Is it just me or do the reflections in that HL2 screenie look far too distorted considering how flat/calm the water is? |
| ||
Indeed. what a crappy engine :) |
| ||
Well, I wouldn't know about that - I've never played HL. :) |
| ||
the water looks better in motion ;) well, a lets-copy-hl2 contest is maybe not the best option, since it would require to rip out the media or to have really good art skills...something like "make a nice coast scene" or something would be more suitable, i think...however this would be again a pure art-contest, not a code-contest...eh dunno ^_^ |
| ||
Wow is that what HL2 looks like... it almost makes me want to buy it. For some strange reason. Not going to though. Oh yeh and please stick to coding contests =] |
| ||
You should try it out, Toby. I had alot of fun with it. |
| ||
yeah... i just knew i wouldn't like it... ... WAS I WRONG!!!!! --Mike |
| ||
The best water with BLitz3D I seen:![]() http://www.blitzmax.com/gallery/view_pic.php?id=133 ...2 years ago!!! |
| ||
..this is example of my water done over my DX9 shader wrapper..its not good enough yet due some problems with refraction (crushing Blitz3D), but its working in simple form..Its done over external DLL...when I turn back from my immidiate obligations, I'll post some working examples..I hope you like it...![]() |
| ||
Yikes! That water looks fantastic, NA. I want to go for a swim. :) |
| ||
And he said it's not good enough yet. Teehehe. |
| ||
im wondering how you can use a DX9 shader, if you use Blitz3D's (DX7) 3D engine the same time? don't you have to write your own complete 3D engine with DX9 then? i can't remember that its possible to mix dx7 with dx9...(?) |
| ||
When I was searching materials for water effects, I found something just like your image. It was done by Claes Johanson adn here is the link: http://graphics.cs.lth.se/theses/projects/projgrid/ If you look at the examples, you can see: ![]() www.vterrain.org/Water/projected_grid.jpg Take that image and scale it to 800 x 600 and you can clearly see the image is the same with Naughty Alien's.. even the waves... any explanations? |
| ||
LOL, nice find perseus... TUT TUT Naughty Alien :) |
| ||
It's amazing the lengths (cheating) some people will go to beat my entry. |
| ||
Matt - yes,that was a valid entry. It is good, but not the best IMHO. Of course 2 years ago it was top. I explainied the pros and cons of it earlier in this thread. Strange thing with the water pic. however. |
| ||
Mmmm... Claes included the source (I assume code + models/textures) stuff in the download, so it's possible that Naughty Alien has just used that to do his Blitz version. But those screenshots do like like 100% identical which is bit strange. |
| ||
well hell... why do ya think he calls himself NAUGHTY Alien... i'd seen this shot a while back... the clouds are unmistakeable... you really don't think NA was actually trying to pawn this off as his own... ... was he??? --Mike |
| ||
this is example of my water done over my DX9 shader wrapper Sounds like it ;o) |
| ||
I don't know where Naughty Alien has found the pic or who is the author of the code, but really should be amazing to use a wrapper or some lib to achieve that kind of water in Blitz. I've downloaded the examples pointed by Perseus and it's one of the best water I've ever seen. Do you imagine that water in a game made with Blitz? |
| ||
The best water with BLitz3D I seen: Thanks matt ;) www.blitzmax.com/gallery/view_pic.php?id=133 ...2 years ago!!! |
| ||
Rob... i think that all of our cubemap reflected water examples today are based on the fine work you did way back when... ... i, for one, have certainly 'stolen' most of the logic for any water i did from there... and it has been my inspiration for a while now, as i'm sure it has been for others as well... ... i think that you should be the one getting the thx :) --Mike |