This is an appeal to emotion logical fallacy. Please refrain from doing this. You were not personally insulted; your argument was called nonsensical. This is a tech forum. Get used to it.It is clear that you don't like me, and I don't like you, but at the very least, we should show some respect to each other from this point on, starting with me.
No, I said the engine should not generate any polygons at all for it, tessellated or otherwise. Or to be more specific, the engine should not be handling any ocean data at those map zones. Please try to pay attention and follow what’s being said.You mentioned that the engine should not tessellate the ocean when it is not immediately visible through the view port, meaning to turn water tessellation off when you can't see it.
The tessellation factor doesn’t appear to be decreasing according to distance. We'd expect that optimization at a minimum, even if they can’t manage to cull the mesh.There is an ocean behind the scene. Think of it as an island on top of the ocean.
That’s one form of culling, yes. But there are other forms which discard entire hidden surfaces and don’t generate any work for the GPU. Again, Doom was doing this back in 1993.As to culling, its purpose is not to break up wired frames, but to eliminate the need to put texture and lighting etc on wired frames that will not be shown on the screen.
There are plenty of games that implement water reflections and mirrors without rendering entire maps full of meshes. Hidden water meshes play no part in the reflections of the visible meshes anyway, so I’m not sure how they’re relevant here.Water is far complicated than most objects because it reflect light/images. In other words, if you put a mirror in a scene, then the problem with culling exposes as the viewer will detect that the mirror does not reflect objects correctly.
What’s happening here is more like a flag mesh being rendered across the entire map but only being visible on top of the flag pole. You wouldn’t expect that would you? Of course not. You’d expect flag polygons to be generated only in the vicinity of where they’re visible. The rest of the map data should not reference any flag information at all.That is not true. Again, the polygon is always there as it represents boundary and connection. Think of it as a waving flag with a pole in front. The wave of the flag should pass through point A to B even though the pole is in between point A and B on the flag. The texture of the part where it is blocked by the pole can be skipped, but not its wired frame. In this case, we are talking about one continuous ocean, one really big flag.
I’ve already addressed the issue of reflective water with several points above.I am glad that you mentioned those puddle of water on the ground. See for yourself (Caution, once you see this, you can never forget.)
You said it.This is an appeal to emotion logical fallacy. Please refrain from doing this. You were not personally insulted; your argument was called nonsensical. This is a tech forum. Get used to it.
Nonsense.No, I said the engine should not generate any polygons at all for it, tessellated or otherwise.
Nonsense.Or to be more specific, the engine should not be handling any ocean data at those map zones.
If you don't think that I am paying full attention down to words in what you said, then you are wrong. You on the other hand should pay more attention to what had already been said, over and over again.Please try to pay attention and follow whats being said.
It is idiotic to assume that no optimization has been done. Yes it may not be optimized to perfection. So what? You don't like it? Turn it off. Gee, how difficult is that? Do you know how?The tessellation factor doesnt appear to be decreasing according to distance. We'd expect that optimization at a minimum, even if they cant manage to cull the mesh.
I already explained that in my first explanation post. How are you so sure that the time required to do all that filtering is faster than now? How much time needed to execute the code that discard the entire hidden surfaces? It requires all objects at the front to be tessellated and rendered in the order with respect to the viewport to avoid artifacts at the edges. How else do you know which pixel to discard without knowing which pixels occupied by the objects in front? To do it, you not only need the mesh of the object in front, but the mappings for that object. Mind you that there are many many objects used that assemble the city, and there are many objects in front of the city. Did you also missed the part where I said tests are needed to determine the answer? Maybe you have a super brain that can process all the possibility of all the different combination of coding just by looking at a screenshot, or maybe you just have a normal brain and skipped all the possibilities and jumped right into conclusions.Thats one form of culling, yes. But there are other forms which discard entire hidden surfaces and dont generate any work for the GPU. Again, Doom was doing this back in 1993.
The statement you quote was about the complicity of reflection vs culling. In reality, water bounds off solid wall. To simulate this affect, you need far more processing power than tessellation at factor 64x, that is water with no environment reflection.There are plenty of games that implement water reflections and mirrors without rendering entire maps full of meshes. Hidden water meshes play no part in the reflections of the visible meshes anyway, so Im not sure how theyre relevant here.
All objects are there, but rather or not it will shown through the viewport at the time a frame is generated is very hard to predict at design stage. Designer needs to look at the map in almost every single angle and distance to determine what to put into a scene. If you play any MMO, you will know FPS plummets at populated towns. Why? Because the data of each individual players must be loaded even if you don't see them. If not, you will see people coming through naked as the armor is still loading.How about trees and rocks? Shall we put giant tree and rock meshes spanning the entire map, even if the objects are only visible in certain places? The ocean should be an object and like any object, it should only be referenced in the parts of the map where its visible.
Get used to it.
It appears I am too wrong about you. I am sorry.I remembered it differently, and apparently wrong. Sorry for contradicting you and being wrong.
Careful there chief, thats a personal insult. Do that again and youll be reported.You have made a foul out of yourself with this post by showing your lack of understanding to computer graphics.
Im pointing out the wasted resources and youre telling me about using quick fingers to turn it off. Thats not an answer, thats simpleton trolling.I knew where you were going after, and thus I told you to turn it off. What is so hard to understand?
Again, not nonsense at all. The map should not reference the ocean at the data points its not being drawn.Nonsense.
I didnt assume no optimization has been done. Thats a strawman argument. In your last two posts alone youve produced at least three logical fallacies.It is idiotic to assume that no optimization has been done. Yes it may not be optimized to perfection. So what? You don't like it? Turn it off. Gee, how difficult is that? Do you know how?
Where did I say I was sure? What I said was that there are wasted tessellation resources rendering triangles in a mesh that are never visible. I also stated theres an objectively provable performance hit in those areas, which benchmarks demonstrate.I already explained that in my first explanation post. How are you so sure that the time required to do all that filtering is faster than now?
This is a comically false statement; the original Doom and Quake engines used polygon based BSP rendering.Doom uses voxels btw, not polygons.
You can report anytime you want, you however don't need to tell me about it or post about it. I however will like to see it done.Careful there chief, that’s a personal insult. Do that again and you’ll be reported.
Thank you. Fool it is.And it’s “fool”, not “foul”.
... That’s a strawman argument. In your last two posts alone you’ve produced at least three logical fallacies...
You appear to be typing nonsensical statements that do nothing but pad your posts.
You keep saying it is a waste. Did or did not I said we need to test about it? If it has smaller footprint on resources and faster run time then your method, then does it mean it does not waste resources? Or does it mean your method waste a lot more resources? One way or the other, I can't change this fact, and so can you. If you believe that water tessellation means waste of resources, then I suggest you to turn it off. What else can I say? You really sounded like you are in pain about it, so I suggest you to cut the source. Trolling? Lol.I’m pointing out the wasted resources and you’re telling me about using “quick fingers” to turn it off. That’s not an answer, that’s simpleton trolling.
I know, you said this many times. Without proof, you can make as many claims you like.At the very least the GPU/driver is optimizing something even if the game isn’t. But I’m talking about the specific case of the polygons in that mesh that are never rendered.
Instead of what I say, lets look at the original tessellation demo from ATIIt does waste computation. This has been proven by altering the water quality setting and observing a performance change in areas where no water is visible.
Find one youtube vid where tessellation is done the way you believe is correct, except unigine as the way wireframe is displayed is augmented, not the real look of the wireframe....Are you disputing either of these facts?...
You got one thing wrong. I said things are the way it is for a legitimate reason. I was challenged to provide one of such legitimate reasoning, which I did, with note saying that testing is needed as results will only be shown through testing. You are the one who keep saying it is a waste it is a waste...As for whether it can be done better, you haven’t seen the code to the engine so don’t pretend you know exactly how it works. You’re speculating as much as I am. We’d need Crytek to issue a statement to the effect of “we tried to optimize the mesh but found the hit was more than just rendering the whole thing”.
While I can agree with this statement, but didn't Dirt 2 applied tessellation more or less the same way? I did not see anyone complain about it. I can't get any better vids showing the wireframe of Dirt 2, but see for yourself.Ignoring the nVidia conspiracy theories, this seems way too much like a DX9 engine with tessellation bolted on top with a simplistic brute force approach.
You got me on this one.This is a comically false statement; the original Doom and Quake engines used polygon based BSP rendering.
If it's there then it's there because that is the most efficient way to do it. That is the only logical explanation anyone who is not a master DX11 programmer with intimate knowledge of the crysis 2 engine can make. We have none of them, just a lot of people who don't really understand spouting off opinions like they are fact - as the old saying goes "there's nothing more dangerous then a little bit of knowledge".
There's really no need to be a master Dx11 programmer. It's not that complicated. It's not the most efficient way to do it, at all. It's the easiest way to do it. I've said it before, but game devs are not gods. They get placed on a pedestal around here. The game industry, with few exceptions, is as sleazy as any other entertainment industry. Just like any other job there are programmers who are good and there are plenty who are lazy and just do enough to keep their jobs.
Having this gigantic mesh that stretches on to infinity and is being generated whether it's rendered or not is not awesome programming. It also has nothing to do with the game engine. If you were to license Crytek engine 3 to use for a game the ocean would not be included. It's added later by script calls on the game map.
So what you are saying is that you with minimal knowledge of what you are talking about know best, and the crysis devs who we might assume are experts at both rendering and the crysis engine in particular are in fact are just lazy and you know much better then them.
Well we can quickly discount crysis devs being no good because they have managed to produce in farcry, crysis and crysis 2 arguably the prettiest games for their time ever. That is not the work of lazy low quality devs. Hence the only logical assumption is that they are very very good at what they do.
Do I believe you or them? That's like asking me before brain surgery do I want an expert brain surgeon or some bloke who watched a few programmes about it on the discovery channel once (but is very confident he knows how to do it!).
Rendering a mesh everywhere even when you don't need it there is good? Go ahead and give them your money. I'm not saying that you can't donate to the alter of Crytek if you want to. They made a game for consoles. They ported it over to PC. They were "sponsored" by nVidia for a patch. They are making as much money as they can off of the Crysis brand. It doesn't make them comparable to brain surgeons. What a bunch of dribble.
Well we can quickly discount crysis devs being no good because they have managed to produce in farcry, crysis and crysis 2 arguably the prettiest games for their time ever. That is not the work of lazy low quality devs. Hence the only logical assumption is that they are very very good at what they do.
I don't think it's about whether the game is pretty, but was the pretty achieved in an efficient way.
In the case of Crysis 2 at least people are saying that while the game has been prettified further by the DX11 patch, the benefit and cost doesn't seem in balance due to all the pretty applied to parts of the screen that the players will never see.
The problem with Tessellation in Crysis 2 is that this is the first game which is really using Tessellation on more than half of all objects in the game. There is a "huge" performance impact, but for me there is a huge improvement, too.
The problem with Tessellation in Crysis 2 is that this is the first game which is really using Tessellation on more than half of all objects in the game. There is a "huge" performance impact, but for me there is a huge improvement, too.
In the future when I buy anything involving Crytek then I will make sure Tessellation is switched off. There you go that got around the simple problem and increased performance as well
Yeah, I'm glad they tessellated the crap out of a concrete block. Those walls are great too! I spent over 40 hours just staring at them.
I know it! Why would developers add things to improve fidelity and realism? I prefer Crysis 2, before the patch, more performance.
I know it! Why would developers add things to improve fidelity and realism? I prefer Crysis 2, before the patch, more performance.
Thats the way I see it as well...
Don't think tessellation adds any visual improvements? Turn it off...
Don't like the performance hit of tessellation? Turn it off...
Win/win!