Are "downgraded" 3D models generated in real time?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Are "downgraded" 3D models generated in real time?

Post by lidnariq »

It is my understanding that that is exactly what mipmaps are.
User avatar
whicker
Posts: 228
Joined: Sun Dec 13, 2009 11:37 am
Location: Wisconsin

Re: Are "downgraded" 3D models generated in real time?

Post by whicker »

psycopathicteen wrote:Do they use this as a way to fake antialiasing on textures that far away?
Textures themselves can have multiple sizes, with the smaller ones more blurred as they're shrunk down, and is recommended for objects like the notorious vertical picket fence texture that otherwise shimmers horribly in the distance during movement.
some SGI mini article wrote: Derived from the Latin phrase, 'multum in parvo', MIPmapping suggests putting "many things in a small space". The process involves the generation of pre-filtered, lower-resolution versions of each texture so that textures applied to a polygon closely approximate its size.
http://www.sgidepot.co.uk/tlmmi.html
I think lately though, there's been more focus on real-time multipoint sub-sampling of textures. Basically one pixel is a blend of 8 or so nearby texels.

Espozo wrote: All the stuff involved in 3D blows my mind. I've always wanted to program a 3D video game, but seeing my level of success with even the SNES...
Books! There are good books (and bad books) that talk about this stuff.

Game Coding Complete, Fourth Edition: Mike McShaffry

I was kind of looking at this general overview book, and although it does not get into great detail, it seems to cover a lot. If anything it's more like a compilation of experiences.

Unfortunately (or fortunately?) Gamecube, Xbox, and beyond basically require the official devkit (or derivations thereof) to get much use out of the hardware other than sound and 2D drawing. Complexity (and hardware bugs) grow up exponentially at this generation.
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: Are "downgraded" 3D models generated in real time?

Post by Dwedit »

I once wrote a program that incrementally simplified 3D models, it would calculate the "cost" of merging vertices, and favor merging the lowest "cost" ones. It kept a sorted list and you could just keep doing down the list and picking the number of times to merge vertices, or go back up the list and restore the triangles.

And yes, the simplified model looked like crap.

But yes, this system did let you generate downgraded 3D models in real time.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Are "downgraded" 3D models generated in real time?

Post by rainwarrior »

whicker wrote:I'm no 3D expert, but I've heard the term "imposter" used.

Basically if something is far enough in the distance, switch it out with an imposter, which could be as simple as one textured quadrilateral.
Where I've heard the term "imposter" it was specifcally only referring to replacing a mesh with a textured card like that (or sometimes 2 cards in an X so you can see if from various angles without rotating it to face the camera). These are generally not used for animated characters, but for static things. Trees are the one I've seen use this most often.

But yeah, it's basically the end game of LOD reduction, but by the time you get to single quads you're probably batching/instancing a big group of things into a single draw call. With the huge overhead of any given draw call, unless you can group things reducing the number of vertices isn't a very good optimization by itself. (To go back to the example of trees; they're a good use case for this because they often come in groups, i.e. forests).
psycopathicteen wrote:Do they use this as a way to fake antialiasing on textures that far away?
lidnariq wrote:It is my understanding that that is exactly what mipmaps are.
Yes, this is correct.
psycopathicteen
Posts: 3001
Joined: Wed May 19, 2010 6:12 pm

Re: Are "downgraded" 3D models generated in real time?

Post by psycopathicteen »

Espozo wrote:
rainwarrior wrote:No, you'd think that. I know how it applies to modern systems.
I mean, I thought it would be on everything.
rainwarrior wrote:You're telling me that there's some degraded lower poly version of this? It doesn't really have vertices to spare, IMO.If there's an LOD change in this video, I couldn't spot it:https://www.youtube.com/watch?v=MzHjJ-guSJg
It never really shows up unless you set the camera though. I found a good video that demonstrates it: https://www.youtube.com/watch?v=xSynNINQJyQ
They couldn't even get Mario's nose the right size. Do other characters have downgraded models from far away?
calima
Posts: 1376
Joined: Tue Oct 06, 2015 10:16 am

Re: Are "downgraded" 3D models generated in real time?

Post by calima »

@Espozo
When I started with 3d, I read through a few OpenGL books (the official one, the shader one, and the superbible), then played around with Irrlicht. Irr is very easy to start with, try playing around with that to get familiar with 3d. It doesn't take many lines to load a Q3 level and then run around in it.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Are "downgraded" 3D models generated in real time?

Post by rainwarrior »

psycopathicteen wrote:They couldn't even get Mario's nose the right size. Do other characters have downgraded models from far away?
Enemies don't even spawn until you're within a certain radius, so I wouldn't expect it. I didn't expect Mario to do it either, though.

That seemed quite bizarre, almost seems to me like they were trying LOD at some point to see if it made a difference, and then forgot about it. Mario's probably the least effective character to put a low LOD on, since there's only ever one of him onscreen anyway, and he's almost never far enough away to trigger that! ?
Post Reply