Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 


Submitted by Emil, posted on March 01, 2001




Image Description, by Emil



Here are a few screenshots from my latest project, an underwater screensaver, rendered in realtime using OpenGL. This is one of my first attempts with 3D graphics, so I have kind of added more features while learning. I think the result is pretty cool, though it requires a Geforce or something similar by now (About 25 FPS on a Geforce256).

The lightmaps are procedurally generated and animated. (I'm really running out of texture units) (The light is refracted by a simple wave simulation to generate the typical light-patterns on the bottom.) In the shot with the can you can see a soft shadow at the bottom, which gets sharper as the can moves closer to the bottom. (It looks better when animated. Also, notice the darkened shadow volume) The rocks seen in one of the pics have some precalculated bump-maps. The schools of smaller fish uses a simple flocking simulation. They also avoid the rocks, and tries to escape the hunting dolphin. The dolphin, which is programmed to hunt the smaller fishes, is animated by deforming it's object space with a suitable continious function. The seaweed is animated to give the illusion of streaming water. Most of the geometry is procedurally generated.

That's all.

I'll try to make it available for download soon.
Look for it at: www.liscreensavers.com

/Emil


[prev]
Image of the Day Gallery
www.flipcode.com

[next]

 
Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Dean Harding

March 01, 2001, 05:54 PM

But that's the whole point of extensions, isn't it? With OpenGL, you only need to learn the new extension, everything else is still the same. With DirectX, you need to learn a whole new API every time they add a few features (and release a new version.)

I used to use DirectX for my project, but then when DirectX8 came out, I decided to switch over since it was apparently a whole lot easier. After a few weeks trying to get it all working again, I switched to OpenGL and started from the ground up. It's now about 3 weeks later, and my game is almost at the stage it took me 3 months to get it to with DirectX. And it runs a whole lot faster (I'm not saying OpenGL is faster, it's just structured more how I think about things I guess.)

I really do think all the time I spent with DirectX was a waste of time.

Oh yeah, and the number of examples/tutorials written for OpenGL outnumber the ones for DirectX a million to one.

 
MgFun

March 01, 2001, 05:57 PM

OpenGL is 10 times faster than DX... on my voodoo3.

 
DarkReaper

March 01, 2001, 06:51 PM

And what about the light rays?

 
Nutter

March 01, 2001, 07:34 PM

I just want to point out that bit64 actually works for Microsoft, and uses AOL.. 'nuff said!
j/k bit ;) ...but everything I said is true tho :P

My opinion on D3D vs OGL is that D3D is faster, but it's so stupid that with every new version that's released you have to re-learn it. For this very reason OGL has my vote. Even though the OGL extension method does truely suck (in my opinion, remember!), there's so much that can be EASILY done to optimize OGL so there's negligable difference between it and D3D, for the amount of time put in. I'd much rather spend a week writing an OGL renderer than two weeks writing a D3D renderer, and spend the extra week on the actual game itself - the game's what it's all about folks, not an extra 4-5 fps.
And before anyone flames me, or points out errors in my argument, just remember this is my opinion, which I'm entitled to. :)


-Nutter

 
Kail

March 01, 2001, 07:55 PM

>My opinion on D3D vs OGL is that D3D is faster, but it's so stupid
>that with every new version that's released you have to re-learn it.
>For this very reason OGL has my vote.

Why does everyone complain about this? Once a year, you need to spend two days learning new function names and a few new concepts. Big deal.

-Kail

 
Dan Brown

March 01, 2001, 09:44 PM

Hi,

While we are the subject, can anyone tell me if I'm wrong in doubting statements like 'I hate "optimizing" GL code. You never know if the optimizations will work on more than one or two vendor's HW.'

The way I see it, the usual process is like this -

[OpenGL]
Query for an extension.
If it is there, use it.
If it isn't there, implement the feature in software optimised for the situation. (if possible)

[Direct3D]
Query for capabilities. (vertex/pixel shaders, stencil buffer, etc)
If it is there, use it.
If it isn't there, either use the software fallback (HEL? which may be very slow), or implement the feature in software optimised for the situation. (if possible)

What, if anything, am I missing?

I hate "optimizing" Direct3D code. You never know if the optimizations will work (well) on more than one or two vendor's HW :)

Dan

 
Raspberry

March 20, 2001, 04:13 PM

Why did you have to make it into a commercial product?

 
vrempire

August 09, 2001, 04:35 AM

DAmn it looks gorgeous!!!

 
This thread contains 38 messages.
First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.