🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Is it possible to rasterize this many polygons on a GPU?

Started by
46 comments, last by JoeJ 2 years, 11 months ago

Ok i understand the first 2 parts.

If it's RTS and i'm not i a cockpit. My calculation of 2 billion is an absolute worse case scenario with everything fighting eachother, i don't know if this will ever happen but better safe than sorry.

The only thing I'm confused about is how much of that 8-9M ship i will see when the maximum is 8-9M pixels for 4K. Like if i'm close but there is another ship in the background. Let's say each of these ships are 8-9 million triangles:

How would it look then?, would i be losing 9M triangle detail levels on the ships?

“But i can assure you UE5 could render 200 instances of the same 9M tri ship easily, and other engines could do this too, e.g. using discrete LODs for the ship.” How would the detail level of the ships look then?

Also i just don't know how far away meshes have to be for LODS, thats again why i wrote 2 billion (if all ships have the highest LOD on screen)

Like i posted here are 2 eamples of how close the ships are:

Advertisement

“But i can assure you UE5 could render 200 instances of the same 9M tri ship easily, and other engines could do this too, e.g. using discrete LODs for the ship.” How would the detail level of the ships look then?

Also i just don't know how far away meshes have to be for LODS, thats again why i wrote 2 billion (if all ships have the highest LOD on screen)

Using LODs, how they look simply depends on those lower detail assets. Which LOD the engine selects in which situations depends on the engine and its settings.

Do you have that model? And no LODs yet?

The next step would be to import it into engines like UE and Unity, see if they have built in tools to generate LODs automatically (i guess both have something, otherwise try Simplygon free version), arrange them in a way you expect, check FPS.

Then you know how it looks and performs. (UE5 still has the old discrete LOD system too, so you can compare this to Nanite).

All this is some work but costs nothing, and no programming skills needed. It's probably not legal to use LODs generated by those engines in other engines, but it gives you the impression and experience you want.

Also: There is no loss if you model 9M, but then it turns out the game only supports 1M in practice.

It's normal to model stuff at higher resolutions, then make low poly model but bake the detail to normal maps.
UE5 just claims that's now no longer necessary with Nanite, which is fine because less artist work.

Aha so i can have a 9M model and not lose any quality/detail?, only if i zoom out enough for the second LOD? Or will it be i can't see all the details?

When you say “only supports 1M in practice”, i assume this depends on the game engine?

The problem is the game only supports 200K ships in it's current state (since it's from 2005-2006)

Newgamemodder said:
Aha so i can have a 9M model and not lose any quality/detail?, only if i zoom out enough for the second LOD? Or will it be i can't see all the details?

Yes, the highest LOD can be the original model, so all triangles are rendered.
(If some triangles end up smaller than a pixel, they are rendered, but not visible.)

When you say “only supports 1M in practice”, i assume this depends on the game engine?

Yes it's just an example number.

The problem is the game only supports 200K ships in it's current state (since it's from 2005-2006)

Another related limit is max texture size. If it's 8K you can bake ‘more’ detail into it than if it's 2K.

Also remember our assumption ‘we can have one triangle per pixel’ holds only for UE5 because it has a software rasterizer.
I'm no expert with GPU ROPs, but AFAIK they process pixels in blocks of 2x2. On the edge of a triangle there are always block pixels which are not visible, so part of that processing is ‘useless’. With a triangle only 1 pixel large, only ¼th of processing is visible, ROPs are only efficient with larger triangles. A recommended size is hard to tell, but only a triangle which covers the whole screen will not ‘waste’ any pixels, because there is no edge. I'd guess the average triangle should be maybe 4x4 pixels large or more. (Notice at incident angles any triangle becomes a line and ‘inefficient’ for ROPs. We just want to limit those cases.)

So, 200k sounds enough to be efficient and practical for a RTS and the way GPU ROPs work.
To see what detail you get and if you are happy with that, no way around making a 200k LOD to try it out.

ok, is there any way to know if a triangle will be smaller than a pixel?

Newgamemodder said:
ok, is there any way to know if a triangle will be smaller than a pixel?

What i do in practice is displaying the model with wireframe overlay. If the wireframe is very dense (more line pixels than holes between the lines), you know resolution is very high, and too high to work efficiently on GPU.

But you do not need to worry so much. A zero pixel triangle causes some redundant work, but still renders faster than any visible triangle. It's the average size which matters. Having some outliers in regions where detail is important is no problem.

Ah ok, i am just wondering since everybody i've asked says it can be made with 10 million triangles

As you can see it needs alot of triangles XD

Lets say i have a model that is 20mil-14mil triangles. If 8k becomes “mainstream” (1ms response time). I can view my 20Mil ship with all details correct?, but what will happen to ships close to it/things around it?

Sorry for the bump…

But i recently learn't more about how the graphics pipeline works.

Do game devs/LOD systems try to do 1 triangle per pixel?

If thats the case 16K resolution is about 132 million pixels. What happens if you have 135-137 million triangles on screen?, does anything happen to the high detail ships detail level? (e.g does the LOD system/Engine remove 3-5 million triangles from the large ships so that the count will be 132?)

This topic is closed to new replies.

Advertisement