Sijun Forums Forum Index
Log in to check your private messages
My Profile Search Who's Online Member List FAQ Register Login Sijun Forums Forum Index

This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.
Goto page 1, 2  Next    Sijun Forums Forum Index >> Random Musings
View previous topic :: View next topic  
Author   Topic : "Curved Surfaces? BAH!"
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Mon Dec 18, 2000 10:18 pm     Reply with quote
I though Quake 3 was meant to have curved surfaces?

I screenshot I took just then




Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
faustgfx
member


Member #
Joined: 15 Mar 2000
Posts: 4833
Location: unfortunately, very near you.

PostPosted: Mon Dec 18, 2000 10:21 pm     Reply with quote
try taking a screenshot of a actual curve, not a polygon curve.

plus if id had any brain, they'd still keep the actual output of the spline very low. and it still has to be put out as something, such as polygons.. which i hope isn't the case here.



------------------
sky high with a heartache of stone you never see me 'cos i'm always alone

[email protected] /
icq#35983387
Back to top
View user's profile Send private message Visit poster's website AIM Address
Ragnarok
member


Member #
Joined: 12 Nov 2000
Posts: 1085
Location: Navarra, Spain

PostPosted: Mon Dec 18, 2000 10:37 pm     Reply with quote
It depends of your configuration. I don't remember exactly, but I think it was something about polygons complexity. Depending of how you have it you will see a "perfect" curve or that. It's mean to be faster if you don't have a good machine.
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
[Shizo]
member


Member #
Joined: 22 Oct 1999
Posts: 3938

PostPosted: Mon Dec 18, 2000 10:41 pm     Reply with quote
HEhehehEH! Well dud i'm sorry to tell you but this depends a whole lot on the hardware you use! I really forget, but somewhere i've seen a comparison of two vid cards showing same curved surface in Q3 with same settings - huge difference.
Also you might wanna check YOUR geometrical settings? I think it's something like "curved surfaces complexity" but i dont have Q3 so.. hehe

[edit] go away you damn person above! i posted this first hehe
------------------
Nothing really matters to me

[This message has been edited by [Shizo] (edited December 18, 2000).]
Back to top
View user's profile Send private message
faustgfx
member


Member #
Joined: 15 Mar 2000
Posts: 4833
Location: unfortunately, very near you.

PostPosted: Mon Dec 18, 2000 10:42 pm     Reply with quote
sounds pretty right. i have never seen even a slightest hint of what we see in freddio's screenshot.

in the curve surfaces, that is.

but i have a kick ass 3d card too, and you don't, nyah:)



------------------
sky high with a heartache of stone you never see me 'cos i'm always alone

[email protected] /
icq#35983387
Back to top
View user's profile Send private message Visit poster's website AIM Address
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Mon Dec 18, 2000 11:24 pm     Reply with quote
well My Geforce 2 isnt that bad a card...

I dont actually think thats a brezier (not sure if that the right word?) curve

I have every setting maxd.... @ 1024x768x32
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Mon Dec 18, 2000 11:31 pm     Reply with quote
hmmm

Looks curved... but up close..



see?



please explain..
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
faustgfx
member


Member #
Joined: 15 Mar 2000
Posts: 4833
Location: unfortunately, very near you.

PostPosted: Tue Dec 19, 2000 12:16 am     Reply with quote
already did.



------------------
sky high with a heartache of stone you never see me 'cos i'm always alone

[email protected] /
icq#35983387
Back to top
View user's profile Send private message Visit poster's website AIM Address
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Tue Dec 19, 2000 12:49 am     Reply with quote
Sorry what I meant to say is that...

please explain why John Carmack says there are curved surfaces in quake 3.. when they clearly arent?

I mean they look very curved but when I Look carefully you can see the staright edges of polygons?

so Faust your saying that they arent curved too?

then they aren't curved.... hmpf..!!

the two shots above ... the second one is close up of the first..
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Tue Dec 19, 2000 1:32 am     Reply with quote
I found this command

r_lodCurveError 10000 (default 250)


now check the shot



I thought it would play like shit but I saw no frame rate drop what so ever very cool

now all i gotta do is put my fsaa

[This message has been edited by Freddio (edited December 19, 2000).]
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
[Shizo]
member


Member #
Joined: 22 Oct 1999
Posts: 3938

PostPosted: Tue Dec 19, 2000 3:37 am     Reply with quote
Freddio: chill the hell out! heHEhSHHAHAHAH!
Of course Carmack says he programmed curved surfaces in Q3 code, and its one of the best features in Q3 (along with sweet res textures hehe). What you mean "there clearly aren't"? You ever seen how those surfaces look in MAP EDITOR? They consist of good old low-poly edges or NONE AT ALL. For example Claws (or teeth) were mostly programmed in, and in game they're rendered curved. Besides if he wanted to make the detail of the curve any more detailed (just for you) he'd have to double or quadrupal the amout of polys rendered and we dont want that eheheh. No we dont!

if builf an arc:
.____.
/....\

the game would render it:
..._
./...\
(.....)

Weeeeeeeee....

------------------
Nothing really matters to me
Back to top
View user's profile Send private message
shahar2k
member


Member #
Joined: 01 Jun 2000
Posts: 867
Location: Oak Park CA USA

PostPosted: Tue Dec 19, 2000 3:49 am     Reply with quote
uhm...
here goes:
it's IMOSSIBLE to render curved surfaces such as pure splines (or in Q3's case bazier curves) unless you translate them to something the accelerator can understand. which is where APPROXIMATION comes in
the game takes the parametric curved surface, and during load time, it calculates your system's abilities, and the geometry settings, and approximates the curve using renderable polygons, hence straight lines. however, the deal with curved surfaces is not that they aren't perfectly curved, it's that they are parametric, and don't have to be built of tons of brushes

3D engines are really easy to understand once you learn the basic methods things can be rendered as.
although there's much I don't know.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Tue Dec 19, 2000 4:48 am     Reply with quote
didnt you guys read my last post


I increased the poly count dramatically and experienced no performance hit

aah ok... so back to my point they arent curved
cramack such a gfx geek
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Tue Dec 19, 2000 4:50 am     Reply with quote
man I can't belive i used 4 smilies in that last post.

I orta eas of them a bit...

im addicted to em..
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Chronic Beauty
junior member


Member #
Joined: 26 Nov 2000
Posts: 33
Location: Glasgow Scotland.

PostPosted: Tue Dec 19, 2000 7:25 am     Reply with quote
Curved surfaces will always be impossible on tv or a monitor.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
faustgfx
member


Member #
Joined: 15 Mar 2000
Posts: 4833
Location: unfortunately, very near you.

PostPosted: Tue Dec 19, 2000 8:05 am     Reply with quote
not on code/model data level.



------------------
sky high with a heartache of stone you never see me 'cos i'm always alone

[email protected] /
icq#35983387
Back to top
View user's profile Send private message Visit poster's website AIM Address
balistic
member


Member #
Joined: 01 Jun 2000
Posts: 2599
Location: Reno, NV, USA

PostPosted: Tue Dec 19, 2000 8:43 am     Reply with quote
Nearly all modern renderers subdivide to polygons at some point. In Quake 3, you can set the smoothness of curves via a console command. Setting the subdivisions lower can increase your frame rate, but you risk losing enemies inside walls.



------------------
"What we're hearing, techno, is the process of trying to create something of the future." - J.M.

Brian "balistic" Prince
3D Artist
Eggington Productions
www.bprince.com
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
Freddio
Administrator


Member #
Joined: 29 Dec 1999
Posts: 2078
Location: Australia

PostPosted: Tue Dec 19, 2000 3:42 pm     Reply with quote
I increased mine 10x

very curvy

but my timedemo results show that I experienced no drop in frame rate...

du to my card be able to cope with humungas poly counts..
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Ben Barker
member


Member #
Joined: 15 Sep 2000
Posts: 568
Location: Cincinnati, Ohier

PostPosted: Fri Dec 29, 2000 11:27 pm     Reply with quote
I got news for you people who think "polygon curves", or the curves in Q3 aren't real curves:
Computers MUST deal with finite points in space. That means coordinates, and that means vertices and polygons.
The Quake 3 engine has the ability to subdivide surfaces along a mathematical curve (bezier being the particular algorithm it uses) but to process them, render them, and translate them in 3D space they MUST have polygons with vertices set along that curve. Even the bezier splines that define the curves have vertices that the engine interpolates between. This is the only way to do it, with polygons. It's a solved problem and the solution can't get any better.

This is not just Quake 3, this is almost every 3D program ever created, and I won't get into voxels since they are so far off.

Make a NURBS object in 3D Studio, then render it with force wireframe, and it's rendered with polygons generated from the curves.

The big deal with Q3 is, it automatically generates the curve detail based on user settings, the curves can be concave (unlike other solid objects in the Quake engine), and they have a dynamic level of detail.

The closest you can come to a curve on a computer is by making the curve steps smaller than the pixels on the final image. Crank your r_subdivisions all the way down and that's as close as you can come. There aren't any "magical" curves that don't use polygons.

Freddio: That setting deals with the level of detail, or how much polygon loss the curves take when you get farther away. The command to jack up the divisions is r_subdivisions, and the lower settings mean more polygons.


[This message has been edited by Ben Barker (edited December 29, 2000).]
Back to top
View user's profile Send private message Send e-mail Visit poster's website
faustgfx
member


Member #
Joined: 15 Mar 2000
Posts: 4833
Location: unfortunately, very near you.

PostPosted: Fri Dec 29, 2000 11:49 pm     Reply with quote
i know.




------------------
sky high with a heartache of stone you never see me 'cos i'm always alone

[email protected]
icq#35983387
http://faustgfx.0wns.org
Back to top
View user's profile Send private message Visit poster's website AIM Address
-- Transcendent --
member


Member #
Joined: 12 Nov 2000
Posts: 251
Location: Somewhere, Sometime, Somehow

PostPosted: Sat Dec 30, 2000 12:37 am     Reply with quote
quote:
Originally posted by Ben Barker:
[B]I got news for you people who think "polygon curves", or the curves in Q3 aren't real curves:
Computers MUST deal with finite points in space. That means coordinates, and that means vertices and polygons.
The Quake 3 engine has the ability to subdivide surfaces along a mathematical curve (bezier being the particular algorithm it uses) but to process them, render them, and translate them in 3D space they MUST have polygons with vertices set along that curve. Even the bezier splines that define the curves have vertices that the engine interpolates between. This is the only way to do it, with polygons. It's a solved problem and the solution can't get any better.


Wrong.

Ever heard of a vector curve ? Apply it in X,Y and Z, and you have a true "curved" surface. Did you know that Renderman can render beizers as beizers ? It's a whole new technology - I don't expect to see it in quake, but it exists.

The thing I can't understand is why quake boasts of "curves" when it is simply a result of rendering an increased polygon count ... but who cares ... The scene breaks up, curves or not, up close anyway. Secondly, what's the use of the spline-subdivision algorithm when the curve could be easily done in a 3d program ?

Just hype, I'm guessing.
Back to top
View user's profile Send private message Visit poster's website
Giant Hamster
member


Member #
Joined: 22 Oct 1999
Posts: 1782

PostPosted: Sat Dec 30, 2000 3:32 am     Reply with quote
Transcendent: yeah, vectors can be curved. but they are only mathematical. so you cant look at a vector. it has to be rendered out in a format that is viewable. polygons.

so its still polys.

------------------
-JameZ the Giant Hamster-

The Hamster Alliance
AIM: Gianthmstr
Multimedia Producer/designer/all of the above.,overall guru :)...and music music music! weee!!
Back to top
View user's profile Send private message
Ben Barker
member


Member #
Joined: 15 Sep 2000
Posts: 568
Location: Cincinnati, Ohier

PostPosted: Sat Dec 30, 2000 11:18 am     Reply with quote
Thank you.
I know WTF I'm talking about here. I know the Quake engine inside and out.
There ARE other methods, but they aren't going to appear in games for a long time, if ever. So why even consider them? All of the other methods consist of keeping track of one point for every pixel. Essentially, no different from vertices, except there are no polygons to render.

When you render a curve in 3D, to the computer it is still several vertices in space, with perhaps tangent weights, and other intsructions to interpolate between the points. The line is still 2D. But slap a texture on it, and try to render it real time, with a clipping hull, and polygons are your ONLY solution.
So don't call me wrong until you know what you are talking about.
The reason Quake 3 boasts curves is because the level of approximation is completely dynamic, and the curves are concave.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
shahar2k
member


Member #
Joined: 01 Jun 2000
Posts: 867
Location: Oak Park CA USA

PostPosted: Sat Dec 30, 2000 3:54 pm     Reply with quote
so basically the closest you can get to a curved surface using a pixel based display is to dynamically subdivide the curves so that no matter how far away from them you are each polygon section in the curve takes no more than one pixel in screenspace.

3D glossary for the artist, for all you people who'd like to know 3D games a bit better but don't want to learn to program.
http://www.mondomed.com/mlabs/glossary.html

I'd allso reccomend gaining some general knowlege of Open GL if any of you want to do art for the gaming industry, heh it helps, especially when talking to a programmer

Ben Barker, I've seen curved surfaces rendered using a non polygon engine (not voxel either), I can't remember when, but the program used completely parametric 3D curves, and competely real time, however the entire program consists of an Island terrain, and was software rendered.... I believe it was on flipcode.com some time ago... not sure though.

------------------
Maybe I'm paranoid... maybe it's you!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Ben Barker
member


Member #
Joined: 15 Sep 2000
Posts: 568
Location: Cincinnati, Ohier

PostPosted: Sat Dec 30, 2000 5:11 pm     Reply with quote
I think I know what you are talking about. While the landscape was completely parametric, it used dynamically generated polygons. I think it was called the Escape engine, or something like that.
2.5D voxel landscapes have been around in games for a while (like that one old helicopter game, I can't remember the name). They don't use polygons, however, the resolution is so low they look like shit IMO, and the only reason to really use them is the novelty of saying you didn't use polygons.
You can render parametric curves real time no problem. But problems arise when you try to do clipping, and size changes based on camera distance.
Check this out:

Here is a bezier spline rendered in 3D studio, real time, without polygons or voxels. It does have segments, though, even though I cranked them really high.
Notice how the line is the same thickness when I get far away as it is when I get close. That's because it doesn't really exist in 3D space like a polygon does, so it's rendered with a hack. But the hack doesn't take into account z depth. Just like particles were hacked in Q1 and Q2.
You CAN render the spline though.

And this time it does get smaller the farther away you get.
And you can even get really close:

No polygons, right? Well, put on force wireframe, and you can see that in fact polygons are generated at render time:


The same goes for NURBS. And in games it makes no sense really to use anything but polygons. 2.5D voxels maybe, and real voxel are out of the question unless you are doing really simple stuff. That's why the only voxel implementations you see today are for landscapes. They are really easy to do with voxels and displacement mapping.
There ARE ways to hack it, but they break down in the game environment, when you need z-depth, frustrum culling, collision detection, shit like that. Polygons are, therefore, really the only way to go.

[This message has been edited by Ben Barker (edited December 30, 2000).]
Back to top
View user's profile Send private message Send e-mail Visit poster's website
shahar2k
member


Member #
Joined: 01 Jun 2000
Posts: 867
Location: Oak Park CA USA

PostPosted: Sat Dec 30, 2000 8:55 pm     Reply with quote
actually I rather like the meathod Deta force 3: land warrior uses (I know many people don't) where they emulate voxels using triangle strips (I think)
I've seen it used better in tech demos, but I guess with game logic, physics and so on they had to cut back on the terrain graphics. thing is, I think that's the way to do terrain, once they optimise it enough.

but you'r right in practice, and with today's hardware, both real voxels, and the extruded voxels (comanche style) aren't very usefull, they just look chunky, plus, you piss off people like me who payed $400 for a 3D card, and nearly the same amount for the rest of their computer, because your 3D card can't do anything with boxels (as they should be called )
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
shahar2k
member


Member #
Joined: 01 Jun 2000
Posts: 867
Location: Oak Park CA USA

PostPosted: Sat Dec 30, 2000 8:58 pm     Reply with quote
one question though, while were talking about 3D techniques, how exactly does the Q3 engine do colisions on the curved surfaces?

------------------
Maybe I'm paranoid... maybe it's you!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Ben Barker
member


Member #
Joined: 15 Sep 2000
Posts: 568
Location: Cincinnati, Ohier

PostPosted: Sat Dec 30, 2000 9:45 pm     Reply with quote
The Q3 engine generates a 'clipping hull' during compile time. Unlike the rendered curves, the clipping hull doesn't dynamically change. So if you jack the curve detail all of the way down (r_subdivisions 9999) people can actually disappear into curves.
I think when the clipping hull is generated, curves are treated as regular brushes with the faces inverted when it comes to clipping. They have a medium number of subdivisions. At least, that is how they are displayed in the map editor.
So an arch would be treated like a half cylinder, with wedge shaped brushes filling in the corners. Just think of the bounding box of the curve, and "invert" the volume.
Curves don't affect vis, or the portal division of the map at all.

It's funny, back when I made maps, you could do this trick where you renamed some files, and preserved the clipping hull of an old map while you walked around in a new version. So you and your weapons would be clipped by invisible walls, and you could walk right through others.

The problem with real voxel is that they are such a waste. If you have a cube of voxels, the majority are on the inside the volume and can't even be seen. You could do really cool stuff though, like having a "miner" class in TF that could tunnel anywhere. And artists wouldn't have to make crappy tiling textures. They could just paint the walls of the environment.

Speed will always be an issue, and polygons will always be faster than voxels. It will be years before you could pull of a voxel engine capable of those Q3 screenshots above. And by that time, you will be able to push millions of polygons and have huge textures. You will have curve segments smaller than a pixel, plus full screen antialiasing so you wouldn't notice anyway.

[This message has been edited by Ben Barker (edited December 30, 2000).]
Back to top
View user's profile Send private message Send e-mail Visit poster's website
shahar2k
member


Member #
Joined: 01 Jun 2000
Posts: 867
Location: Oak Park CA USA

PostPosted: Sat Dec 30, 2000 11:04 pm     Reply with quote
well, I was thinking of one interesting use for voxels (real) in a situation like the game "Worms" where you can dig dynamically through the ground, I mean with polys you'd probably either have to go with a Geomod system like volition's red storm, and ramp the polys up or you could try out for a metaballs like solution... but that's just voxels in disguise
maybe you could use voxels for charecters only? (you'd probably have to create fully segmented parts) and do full wound simulations... heh you'd have to actually create the internal organs when doing the charecters...
I guess that's why they use voxels for MRIs and CAT scans ...


heh I remember I used to do Quake 1 maps, and if you moved a brush at a speed of 1000, it would move instantly no matter how much you slowed the game down (host_framerate) I used to do maze maps that would change their layout instantly every few seconds.... then again my maps were never real fun to play, I never really released them...

------------------
Maybe I'm paranoid... maybe it's you!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Ben Barker
member


Member #
Joined: 15 Sep 2000
Posts: 568
Location: Cincinnati, Ohier

PostPosted: Sat Dec 30, 2000 11:09 pm     Reply with quote
Yeah, that would be awesome. Redstorm's deformable geometry is sort of cool, but it would be a million times better with voxels.
A good use for metaballs would be volumetric explosions that roll around corners, crawl across the ceiling, and down narrow pipes realistically.
Man, in 10 years games are just going to be awesome.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Sijun Forums Forum Index -> Random Musings All times are GMT - 8 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2005 phpBB Group