Jump to content

LOD system questions


Rick
 Share

Recommended Posts

This feature was probably temporary dropped to get Leadwerks 3.0 released on time. I wouldn't focus to much on this and spend more time on developing your game.

 

That said I don't think implementing a LOD system will magically result in uber performance al of the sudden. The core performance of the rendering is not even up to level of Leadwerks 2.3. Even if we would have an LOD system, it wouldn't matter for performance much at this point anyway.

Link to comment
Share on other sites

I wouldn't focus to much on this and spend more time on developing your game.

 

 

 

Why not , but if already you have some performance not so great for a small game, the question could be , must that game be done with such frame rate before coding too much or making too much level design specific to the engine like BSP (as other stuff like 3D art models and textures are portable if we could say) ?

 

That said I don't think implementing a LOD system will magically result in uber performance al of the sudden. The core performance of the rendering is not even up to level of Leadwerks 2.3. Even if we would have an LOD system, it wouldn't matter for performance much at this point anyway.

 

LOD could help :

Some 15000 poly character with 2096 textures for super close camera, and LOD 8000 poly, 1024 textures, it will help indeed.

Or 10 000 poly --> LOD 6000 -> LOD 2000 , this will make some difference.

 

For LE3 not beeing as fast as LE2 , what to do ? we can't do nothing, so if we can gain some frame rate using LOD , just let's make some system.

Same for Octree if we could get better frame rate on 3D scenes, why not ?

Stop toying and make games

Link to comment
Share on other sites

I plan some second terrain outdoor based LE3 game (or demo, will depend if i can finish a first level ?)

Simple terrain but complex models, i'll try to code in Lua my own LOD system ,and 'ill post frame rate differences usint it and not using it.

Specially when several flying stuff can go to 10 000 poly and all in same zome you can view them at same time.

Stop toying and make games

Link to comment
Share on other sites

What is so complicated about a displacement map and choosing a number to divide the triangles by based on the distance from the camera. This has not been widely used because the general public has not had the hardware. Game studios are not going to make a game for a couple people. As the last couple years have gone by. More and more people have up graded their hardware. So now it is becoming more and more popular.This makes game asset creation easier and it also clears up a lot of memory. Which would make a game run better and faster or, would allow you to put a bunch more **** in a game.

Link to comment
Share on other sites

tournamentdan :

I won't insist, character topology is important if you have bones , specially on faces.

 

It has been used, but it produces too much polys, depends on your hardware and best suited for some sort of "rounded" morphology monsters

AlienBig.jpg

 

Tesselation produces too much polys, too much unecessary.

Too much micro details made of polygons using tesselation, that just can be rendered in your normal map.

 

You would never divide 6 polygons of a cube ?

Today consoles have more polys, like PC games and 3D artists produce super rounded characters and faces already :

they look very rounded on Hih res on games, rounding more will not bring anything better.

 

But like said Tesselation is old technique, used in Alien Vs Predator, but it's not a revolution.

 

------------------------

 

You should spend more time in sites like Poycount,CGHub , GameArtisans etc ... and ask yourself to 3D characters artist working in the industry even on latest console games and you'll ahve your answers smile.png

 

Well if you like Tesselation ,it's available in LE3 , so just go and use it make your game , nothing stops you.

make a game or demo with LOD character using tesselation, i'm curious to see the visual results and frame rate.

Stop toying and make games

Link to comment
Share on other sites

The placement of vertice depends on the displacement map. The quality of the displacement map depends on the artist. When making textures for game assets. You need to create a high poly model. Then a low poly model. I can now bake textures from the high to the low. Then use the low poly for a (primitive) in a game. And adjust the level to my liking in game real time. It doesn't make detail magically. The artist has already made the detail. Which is contained in the displacement map. Tesselation does not curve the mesh. It only divides each triangle of a model or each triangle in a decal.

Link to comment
Share on other sites

My god Yougrove. It is clear you do not know what you are talking about. You need to learn more about it before you comment. You do not need to divide the triangles into an ungodly amount. You can tesselate sections of a model. You can tesselate a cube into any model you want. Tree, car, barrel, a cute character model of yougroove of which I could run over repeatedly with my newly tesselated car.

Link to comment
Share on other sites

I don't really see how you would use tessellation for a LOD system - it's not just about the amount of triangles but also where they are placed/how they are oriented.

 

eg: a character viewed from 10m away could make do with a face made 100 polys or less the same character when viewed up close may have 1000s of polygons in the face to convey expressions and personality - tessellation would have no way of creating that detail

 

People, stop assuming on what you do not know. You are only confusing yourself and other people. Tesselation can do exactly what you explained. Your base mesh for a face can be 100 poly. As the face gets closer you can tesselate it to around 1000. The displacement map puts the vertex where they need to be. There is no other calculation.

Link to comment
Share on other sites

 

Why not , but if already you have some performance not so great for a small game, the question could be , must that game be done with such frame rate before coding too much or making too much level design specific to the engine like BSP (as other stuff like 3D art models and textures are portable if we could say) ?

Because the current engine performance is not because of the lack of an LOD system. Ofcourse such a system for wide worlds would be important. Just saying that right now it wouldn't make much of a difference since the engine first needs to tackle a more stable rendering performance.

Link to comment
Share on other sites

@tournamentdan :

 

For old techniques : GTA 5 don't need Tesselation , and If people would know all the tricks used in GTA game series for such big game LOD and collisions tricks also .... laugh.png

 

I am glad you made this comment. It shows that you make up **** so it sounds like you know what you are talking about. Since GTAV has come out I have been very addicted to it and know a lot about it.

Your right. Gtav does not use tesselation. Let's dive into why... Rock star first started to develop gtav, five years ago for hardware that was released to the public about seven years ago. And the technology for those consoles were developed about nine years ago. The ps3 does not support dx11 or opengl4. There were earlier version of tesselation before dx11 and opengl4. But they were not too performace friendly. Tesselation became realtime performance friendly after dx11 and opengl4. Which is not possible in the old consoles.

 

Because GTAV is so large and uses so many LOD. It takes about five minutes and more for online to load the game. If the old consoles could of supported real time tesselation. The games would load a lot faster or instead of having all of those lods and extra textures.You could have even more model assets in game with the same amount of load time and memory.

 

The next big thing will be with the geometry shader and the ability to both create and delete a vertex on the fly.

  • Upvote 1
Link to comment
Share on other sites

You are totally mixing things, we talked LOD for characters is not very used caus not good for all cases.

even actual high res versions of characters are optimized and not need any Tesselation.

Drake-close-up-wireframe1.jpg

No need of more polygons it's enougt detailled.

One thing you forget is High res characters are seen on cutscenes, one in the game playing as Thir Person view in Uncharted for example, you play with a lower res version indeed.

 

----------------------

 

We should better talk about :

- Nvidia Advanced physics also , as LE3 just uses Newton

- Cloth FX

- Physic particles

- volumetric lights

- volumetric particles

- Tress FX (a big GPU consummer laugh.png )

- UDK shader editor and system

- cinematic tools

- Terrain LOD

- Terrain Voxels

- Euphoria physic engine

- Light propagation volumes (better an faster than pure hardware lightening)

- ScaleForm GUI

- Fluid physics

- Run time Breakable physics

- Car physics

 

etc ... etc ....

 

 

Where are they ? We have tesselation , and what ? ... Where are the above more important next features ?

 

So for you even our shader system is outdated , so far from what UDK or Crysis can do ...

 

 

 

---------------

 

The next big thing will be with the geometry shader and the ability to both create and delete a vertex on the fly.

 

 

You want the best today , not old and last tech, so this is not LE3 you need with deffered and tesselation , but UDK shaders, lightening , physics etc ... system and tools , or Crysis.

 

Even with the top notch tools , UDK is free to use, i'm sure you will be able to make any decent game alone.

 

I would say forget all tech stuff ... land on reality, stop dreaming tech and begin to first make a good game that will be really great already ,

Stop toying and make games

Link to comment
Share on other sites

I am glad you brought up Uncharted. Since I have had conversations with the artists that made the characters for Uncharted. The picture that you showed is the only version of that character since it is a third person game. The character is always at the same distance from camera and does not need LOD. And it is the same model they used for cut scenes and promotional media. But lets just say it was a first person. And that is the highest amount of detail you want. Which I agree with you. That is a good amount of detail. But, with tessellation instead of having three or four LOD to get up to that point. You could have one low poly model for the far distances. And if that same low poly model gets closer to the camera. You can tessellate it to the same poly count as your posted picture.

 

So you see tessellation is a level of detail system In its own.

Link to comment
Share on other sites

I dont know why but I can read some wrong information here in this thread.

 

LOD is used to switch between different detail states from a model. eg. in a CutScene you want more details like 50k polys. In the game you want a low poly version so you draw the low poly model with e.g. 10k polys instead of the highpoly.

 

Problem here is that you have to load all models in your memory. If you have 50 models with 3 different LODs you have to load 150 models. LOD is not the best solution for devices with limited memory. Also when you observer the models you can see the switches.

 

 

Tesselation is something completely different. It has nothing to do with the models itsself. you can tesselate every face. You have no memory overload like with 150 LOD models. Next killer feature is that you can scale your faces how you like it. if you like to tesselate a higher detailed version just edit code. Would you do this with LOD you have to create a new Model -> so tesselation increases the development process.

 

Tesselation produces too much polys, too much unecessary.

 

 

tesselation means that you can increase the amount of triangles how you would like. When you say tesselation produces too much polys you have used it wrong or dont understand why it is used.

It doesn´t work... why? mhmmm It works... why?

Link to comment
Share on other sites

@tournamentdan :

Each tech feature depends if people need it or not for their game.

I don't need it (specially if i made Low poly style game or mobile one)

 

Were are today next gen stuff like

- clothes (i would find lot of uses for that)

- run time breakable models

- physic particles (heavy used in last consoles)

etc ...

And where is old stuff missing like GUI and Car physics.

 

For me these points matters lot more than tesselation.

You need tesselation , LE3 gives it to you, so just go make your game with it.

 

------------------

 

Well ... the subject was : CAN WE DO LOD WITH LE3 OURSELVES

 

If someone can bring me some LOD system could it be traditionnal or tesselation, i will test , if it drops frame rate, i wiil just not use it, if it is fast without frame rate impact than ok let's use it despite of what tech is behind if it can do good visual result and not non expected results.

Stop toying and make games

Link to comment
Share on other sites

Here is some pseudo code yougroove

//variables
currentModel

HighPolyModel
NormalPolyModel
LowPolyModel

closeRange = 10 meter
maxNormalRange = 100 meter

Start()
currentModel = HighPolyModel

HideAllModels()


Update()
distance = GetDistance()

if(distance < closeRange )
 HideAllModels()
 ShowHighPolyModel()
elseif if(distance > closeRange and distance < MaxNormalRange)
 HideAllModels()
 ShowNormalPolyModel()
elseif(distance > MaxNormalRange)
 HideAllModels()
 ShowLowPolyModel()

Link to comment
Share on other sites

I dont know why but I can read some wrong information here in this thread.

 

LOD is used to switch between different detail states from a model. eg. in a CutScene you want more details like 50k polys. In the game you want a low poly version so you draw the low poly model with e.g. 10k polys instead of the highpoly.

 

Problem here is that you have to load all models in your memory. If you have 50 models with 3 different LODs you have to load 150 models. LOD is not the best solution for devices with limited memory. Also when you observer the models you can see the switches.

 

 

Tesselation is something completely different. It has nothing to do with the models itsself. you can tesselate every face. You have no memory overload like with 150 LOD models. Next killer feature is that you can scale your faces how you like it. if you like to tesselate a higher detailed version just edit code. Would you do this with LOD you have to create a new Model -> so tesselation increases the development process.

 

 

 

tesselation means that you can increase the amount of triangles how you would like. When you say tesselation produces too much polys you have used it wrong or dont understand why it is used.

 

 

 

I agree with every thing you said except it may be a little harder to tessellate an individual face or triangle. The only way I can think to tessellate a specific triangle is if your model had vertex data(or vertex group) for each individual vertex. That might get a little larger for file size. Not sure, but that would be something to look into. Or if you want to tessellate a certain section of a model. You could create more seams for texture and tessellate that one texture. Or do a raycast and place a decal and tessellate the decal only.

  • Upvote 1
Link to comment
Share on other sites

@Agrorr :

Thanks, but in fact it's show and hide functions that will be complicated, not distance check.

As a model is animation also, we have to manage animation stop and hide model.

But Does LE3 character controlle accept several LOD models ? you can only attach character physics to one model.

 

@tournamentdan :

Okay tesselation specialist , you just talk tech what is easy, but who cares ... show us something concrete now .... the best game demo you can make with tesselation (i think we can wait even after LE5 to see something good)

Stop toying and make games

Link to comment
Share on other sites

@tournamentdan :

Each tech feature depends if people need it or not for their game.

I don't need it (specially if i made Low poly style game or mobile one)

 

You must of missed the part where I said.

 

 

 

Having said all of this. You do not need lod for opengl4. So I am guessing you need it for the low end renderer.

 

 

 

@tournamentdan :

 

Well ... the subject was : CAN WE DO LOD WITH LE3 OURSELVES

 

 

No. Look at the top of the screen. The subject reads: LOD system questions.

Link to comment
Share on other sites

@Agrorr :

 

 

@tournamentdan :

Okay tesselation specialist , you just talk tech what is easy, but who cares ... show us something concrete now .... the best game demo you can make with tesselation (i think we can wait even after LE5 to see something good)

 

 

Don't you worry about me A-hole. When I am ready. I will gladly show what I have been working on. Currently I have a lot on my plate. Rebuilding a house, running my business, developing a cnc for friend of mine. Oh and currently today I have been busy correcting a nincompoop spreading lies about things they obviously know nothing about.

Link to comment
Share on other sites

@tournamentdan:

No worry, no offenses.

I think you and me are in totally different areas, that's why we will not talk about same subjects indeed.

You are more in the tech and programming side , what i don't care a lot, i'm more in 3D art making and more gameplay.

That's always like that with people that have VERY DIFFERENT interest and needs.

No need to take it personnaly, that's just i really don't care about tesselation could it be you or another talking about it.

 

Let's see if something more consctructive , like a simple real "old" LOD solution could happen ?

Stop toying and make games

Link to comment
Share on other sites

@tournamentdan I would think a use case for LOD in OpenGL 4 would be buildings. From a distance I wouldn't think you'd want internals to buildings. That was more of the example I had in mind when I made this.

 

The outside and the inside of a building can be different models . The inside of the house does not necessarily need to be there until the player gets close to the house. This does not mean you need a billboard of the building or three or more LOD of the house. You could have a cube with textures of the house. As the camera gets closer you add more detail. Then when you get real close, then you could draw the inside of the house. Or maybe create all of the inside walls with a couple planes. Think about what a geometry shader could do here. When the player gets close. You could create the entire inside of the house and all of the models(kitchen cabinets, soda cans, tv, couch etc...) in real time. With out all of those models loaded on memory. How about infinite terrain? All can be done with geometry shader and tessellation.

Link to comment
Share on other sites

@tournamentdan How much different is what you describe than LOD? I get you can have the inside and outside of the house be 2 different models (I think when you get into windows and such a risk might happen with seeing the "nothing" inside the house (normally your windows would just be solid when far away, and transparent in the slower model)), but we're still left with doing camera distance checks to show the inside of the house model. That's the same concept as LOD. Sure you aren't loading an entirely new model, but you are still loading 2 models for the same object (outside/inside). To me a combination could work. Tesselation on the outer box, and when in range show the inner house. However, I have to wonder how creating the inner house would work knowing that the tesselation could morph the outer box to cause issues with the inner model. One would have to know what the final close outer house would be tesselated to accurately design the inside, or lots of trial and error. With this I mean possible outer walls clipping into the inner model.

 

I guess my point was that tesselation isn't going to make the inside of the house so you'll still need multiple models to represent the house in a distance check fashion, which is very similar to the LOD concept anyway.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...