Jump to content

tournamentdan

Members
  • Posts

    712
  • Joined

  • Last visited

Posts posted by tournamentdan

  1. 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
  2. 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.

  3. @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
  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. I guess this just falls in the category of old dogs and new tricks. I understand that the same technique has been used for the last twenty years. But with new technology comes new techniques. And also with new technology come hesitation, miss-understanding, and miss-information.

    Tesselation is not only for the real close up. It will not allow you to render more triangles. It will however allow you to render more triangles closer to the camera. You do not have to go from six polygons to a million on a model. You can divide by smaller numbers than ten.

     

    As for performance. The Gtx-480 can tesselate over 1.6 billion triangles per second. Not to shabby.

     

    Since I must be having a hard time explaining it. Read the following link. It is a good general info on tesselation in games.

     

    http://www.nvidia.com/object/tessellation.html

  9. There are different levels off tesselation. You would not want to tesselate an object for every inch the camera moves. This would be costly. I have not seen how josh has implemented it but the user needs to determine which level of tesselation and how far.

     

     

     

    @yougroove. The second picture of the dragon is obviously over tesselated for a video game.

    Instead of having three or four lod's of a barrel. You can have one primitive barrel. Just for the neck of it lets say that barrel has six polygons. You could then tesselate it up to 460. Then if the camera gets closer, then tesselate it to 660. You could even use a decal on a section of the model and then only tesselate that decal part. Think of how much more memory you will have when you do not have all those lod loaded and just hanging around. Waiting to get used.

  10. Because you can create one low poly model. Then tesselate that model at the the same distances that you would change the lod .Your mind will really be blown when josh gets the geometry shader going. Then you will not have to load certain models at start up.

  11. Not every game gets the same amount of fps. When you first start your game your world is small. As your game grows the fps come down. The final target range should be around 60 fps. So checking distance from an object to the camera every 200 frames will not do. As your games games evolve your code for this will have to also. Twice a second should be good enough to fool the eye. So if your game is getting 60 fps. Then every 30 fps is fine.

     

    Also there is no reason to disable texture maps at long distances because the low quality lod's should not have specular, normal, etc... Low quality lod should have only one low res texture. Also less bones.

     

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

  12. There are two problems with intersecting mesh. How you plan to use your models will decide how major those problems are. Problem 1. If you plan to have your intersecting model bend with animation. It will not look very good where the mesh intersect. Problem 2. It depends on how many times you plan to instance the model. Say if you make a vegetation model like grass. You are going to instance that model a lot. Especially if you have a large world. Then you will have a great deal of wasted polygons. But if your model is a shelf you probably will not have a bunch drawn. P.S. I am not sure if Occlusion culling will help with underlying mesh. But if it did. Problem 2 would not matter.

  13. I just don't see how 110,000 boxes falling is particularly useful for making a game. I'm much more interested in features like our motorized joints, which have tons of practical uses.

    Having a bunch of boxes fall and interact with each other is practical for making games. It is a test. You see some people want to make games that have destructible objects in them. And what better way to see how many objects or small pieces the engine and hardware can handle. To me, being able to have destructible environment is much more game play than opening a door ;)
  14. @Tournamentdan I'll be using LE terrain so as far as I know we can't increase/decrease it's poly count. I think LE's terrain has or plans on having automatic tesselation. I remember Josh talking about that.

     

    @beo6 Nice :)

     

    Yes, you can not use tesselation untill josh implements the new renderer. But there is plenty to be done before then.

     

    I do not know about automatic. Tesellation will be handled in a shader. You with code will have to specify level of tesselation and distance from camera.

     

    The way I decribed will allow you to increase/decrease poly count in a specific local area instead of across the whole area.

     

    If you plan to use the "automatic" tesellation with your method you will have to do all that picking and checking every frame or at least many times per second since every time the camera moves, more or less vertice will be created or deleted.

     

    Good luck with your prodject.

  15. Tesselating a displacement map sounds complicated to me. :-/

     

    I guess taking the x/z bounding box of the building and getting all verts inside this area and I was going to pick the average height value and make that the height value of all the verts. Was also going to do a check that if the lowest point and highest point are > a threshold then the land will be deemed to hilly to place a building on. Guess that just sounds easier to me.

     

    Your terrain mesh would have to be extremly high in poly count or it is going to be blocky around where you flatten. So your game will not crawl at 3 fps you will need a normal terrain poly count and then somehow add vertice around where your buildings are. Oh yeah, I guess you could tesselate. Which will most likely be easier than your above method.

  16. That sounds more complicated then just flattening the terrain verts around the area the building is?

     

    Using a decal is not complicated. Tesselating a displacement map is not complicated. Doing a ray cast is not complicated. What is complicated is just flatening mesh in a realistic manner.

  17. You should be able to create a displacement map of the size of the flat area you need for a building. Then use the displacement map as a decal, then tesselate the terrain. Although nav mesh is now not dynamic. So they will not match. It would be a nice feature if we could update the nav mesh with a specified distance from a ray-cast.

  18. I think we are going to lose this feature.

     

    Navmesh generation may be slowing it down. Navmesh generation is presently completely dynamic, which is fine for small scenes but slow for larger ones. In order to accommodate larger worlds with terrain, navmeshes are going to be generated in the editor and saved, in a new dialog that will appear in the next update. This also provides extra control over a few parameters the routine uses.

     

    Not sure if we could have dynamic nav mesh zones so it could help speed up large terrain.

  19. You do not need to click on the move or rotate buttons with your mouse. There are short cuts. First click the object you want to move, scale, or rotate. Then if you want to rotate that object once selected hit the "r" (r=rotate) on the key board. After you hit "r" you can also select which axis you want to rotate on. So hit "r" then "x" or "y" or "z". The axis can be global or local. Same goes for the other transform short cuts. In blender the word "grab" is the same as move. So if you want to move a vertex or object hit "g". Hit "s" if you want to scale. The short cuts in blender will make things go a lot faster.

×
×
  • Create New...